PHP Mengembalikan JSON ke Panggilan AJAX JQUERY
Soalan ini menangani integrasi PHP, JQUERY dan AJAX untuk pemprosesan borang dan mengembalikan respons dalam Format JSON.
Pelaksanaan PHP
Kod PHP yang disediakan termasuk fungsi yang diperlukan untuk memproses borang dan mengendalikan penghantaran e-mel. Untuk mengembalikan JSON, ia menggunakan json_encode untuk menukar tatasusunan kepada rentetan JSON. Tatasusunan mengandungi kunci pulangan untuk petunjuk kejayaan/kegagalan dan kunci msg1 untuk paparan mesej.
<code class="php"><?php header('Content-Type: application/json'); touch('phpTouch.txt'); // process email $email = 1; if ($email) { $value = array('return' => 1, 'msg1' => 'Message sent OK, we will be in touch ASAP'); } else { $value = array('return' => 0, 'msg1' => 'Message Failed, please try later'); } $output = json_encode($value); echo $output; ?></code>
JQUERY dan AJAX
Kod JQUERY mengendalikan pengesahan borang dan komunikasi AJAX. Ia menggunakan panggilan balik kejayaan dan ralat untuk mengendalikan respons daripada skrip PHP. Walau bagaimanapun, kod tersebut memaparkan objek data mentah dan bukannya mengekstrak dan memaparkan nilai JSON tertentu.
<code class="javascript">success: function (data) { alert("SUCCESS:"); for (var key in data) { $('#msgid').append(key); $('#msgid').append('=' + data[key] + '<br />'); } }, error: function (data) { alert("ERROR: "); for (var key in data) { $('#msgid').append(key); $('#msgid').append('=' + data[key] + '<br />'); } }</code>
Penyelesaian
Untuk memaparkan nilai JSON dengan betul, ubah suai panggilan balik kejayaan untuk mengekstrak nilai pulangan dan msg1 daripada respons JSON:
<code class="javascript">success: function (data) { alert("SUCCESS:"); $('#msgid').append('Return: ' + data.return + '<br />'); $('#msgid').append('Message: ' + data.msg1 + '<br />'); }</code>
Dengan pelarasan ini, kod harus memproses borang dengan betul, mengembalikan respons JSON daripada PHP dan mengekstrak serta memaparkan pulangan dan msg1 nilai.
Atas ialah kandungan terperinci Bagaimana untuk mengendalikan respons JSON daripada PHP dengan betul dalam panggilan JQUERY AJAX?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!