PHP Returning JSON to JQUERY AJAX Call
這個問題解決了PHP、JQUERY 和AJAX 的集成,以進行表單處理並返回響應JSON 格式。
PHP實作
提供的PHP程式碼包括處理表單和處理電子郵件傳送所需的函數。為了傳回 JSON,它使用 json_encode 將陣列轉換為 JSON 字串。此陣列包含用於成功/失敗指示的返回鍵和用於訊息顯示的 msg1 鍵。
<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 和 AJAX
JQUERY 程式碼處理表單驗證和AJAX 通訊。它使用成功和錯誤回調來處理來自 PHP 腳本的回應。但是,程式碼顯示的是原始資料對象,而不是提取並顯示特定的 JSON 值。
<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>
解
要正確顯示JSON 值,請修改success 回呼從JSON 回應中擷取return 和msg1 值:
<code class="javascript">success: function (data) { alert("SUCCESS:"); $('#msgid').append('Return: ' + data.return + '<br />'); $('#msgid').append('Message: ' + data.msg1 + '<br />'); }</code>
透過這些調整,程式碼應該正確處理表單,從PHP 傳回JSON 回應,並擷取並顯示return 和msg1 值。
以上是如何在 JQUERY AJAX 呼叫中正確處理 PHP 的 JSON 回應?的詳細內容。更多資訊請關注PHP中文網其他相關文章!