Rumah > hujung hadapan web > tutorial js > jQuery ke php melalui ajax menggunakan json

jQuery ke php melalui ajax menggunakan json

Joseph Gordon-Levitt
Lepaskan: 2025-03-01 01:36:17
asal
541 orang telah melayarinya

jQuery to PHP via AJAX using JSON

Tutorial ini menunjukkan cara menghantar data JSON melalui AJAX (kaedah pos) dari jQuery ke skrip PHP, dan kemudian menyahkod data itu ke dalam pembolehubah PHP yang boleh digunakan. Walaupun contoh ini menggunakan input borang, asal data JSON adalah fleksibel.

pelaksanaan jQuery Ajax

Fungsi Ajax ini menghantar data JSON ke skrip PHP sisi pelayan:

$.ajax({
    type: "POST",
    url: targetURL,
    async: false,
    data: JSON.stringify($('#form').serializeArray()),
    success: function(data){
        console.log(data);
        return true;
    },
    complete: function() {},
    error: function(xhr, textStatus, errorThrown) {
        console.log('AJAX loading error: ' + textStatus + ' - ' + errorThrown);
        return false;
    }
});
Salin selepas log masuk
JSON yang dihasilkan menyerupai ini (pasangan nilai nama):

data=[{"name":"product","value":"riserva shiraz wine glass"},{"name":"supid","value":"81"},{"name":"brandid","value":"60"},{"name":"blid","value":"7"},{"name":"cid","value":"381"}];
Salin selepas log masuk
pemprosesan data php

Kod PHP menguraikan JSON dan mengendalikan data:

// Decode JSON string into a PHP associative array
$decoded = json_decode($_POST['data'], true); // Note: Changed to $_POST

// Output values:
echo "Outputting values:\n";
foreach ($decoded as $value) {
    echo $value["name"] . "=" . $value["value"] . "\n";
}

// Set values as PHP variables:
echo "\nSetting variables:\n";
foreach ($decoded as $value) {
    $$value["name"] = $value["value"];
    echo $value["name"] . "=" . $$value["name"] . "\n";
}
Salin selepas log masuk
(nota: kod asal yang digunakan

; ini telah diperbetulkan kepada $_GET untuk permintaan pos.) $_POST

Soalan Lazim (Soalan Lazim)

Bahagian ini membincangkan soalan umum mengenai interaksi JQuery, PHP, Ajax, dan JSON.

  • Pengendalian ralat dalam jQuery Ajax: Gunakan kaedah dalam panggilan jQuery Ajax anda untuk menangkap dan mengendalikan kesilapan dengan anggun. Fungsi panggil balik .fail() menerima maklumat ralat (mis., .fail(), xhr, textStatus) yang membolehkan pengendalian ralat tertentu. errorThrown

  • Menghantar pelbagai data dengan jQuery Ajax: Gunakan objek literal dalam pilihan data. Pasangan nilai utama dalam objek mewakili data untuk dihantar. PHP mengakses data ini melalui $.ajax() atau $_POST. $_GET

  • Menggunakan data JSON yang dikembalikan dari PHP dalam jQuery: Gunakan untuk menukar rentetan JSON yang diterima dari PHP ke objek JavaScript untuk akses mudah. ​​$.parseJSON()

  • Synchronous vs. Asynchronous Ajax: JQuery Ajax adalah Asynchronous secara lalai (). Menetapkan async: true menjadikannya segerak, tetapi ini umumnya tidak digalakkan kerana ia boleh menyekat penyemak imbas. async: false

  • Menghantar objek JSON dari jQuery ke php: Gunakan dalam jQuery untuk menukar objek JavaScript ke rentetan JSON sebelum menghantar. PHP menggunakan JSON.stringify() untuk menghuraikannya. json_decode()

  • Menggunakan Kaedah Pos dan Dapatkan dalam JQuery Ajax: Gunakan untuk permintaan pos dan $.post() untuk mendapatkan permintaan. Ini adalah versi mudah $.get(). $.ajax()

  • Menetapkan Jenis Kandungan dalam JQuery Ajax: Gunakan pilihan dalam contentType. Untuk JSON, tetapkannya ke $.ajax(). "application/json"

  • Mengendalikan permintaan AJAX yang berjaya: Gunakan kaedah dalam jQuery untuk mengendalikan respons yang berjaya. .done()

  • Membatalkan permintaan AJAX: Gunakan kaedah .abort() untuk membatalkan permintaan AJAX yang belum selesai. Kejayaan tidak dijamin bergantung pada jenis penyemak imbas dan permintaan.

ingat untuk menggantikan targetURL dengan URL sebenar skrip PHP anda. Contoh kerja memerlukan skrip PHP berfungsi pada pelayan.

Atas ialah kandungan terperinci jQuery ke php melalui ajax menggunakan json. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan