PHP 將JSON 返回jQuery AJAX 呼叫
儘管您努力透過jQuery 的AJAX 功能與PHP 進行通信,但您仍然不斷遇到到“選擇器已啟動”錯誤。此外,檢索到的資料似乎不正確。讓我們深入研究這個問題並找出潛在的原因。
使用JSON 回傳的PHP
下面提供的程式碼片段說明如何在PHP 中傳回JSON 資料:
<code class="php">header('Content-Type: application/json'); echo json_encode([ 'return' => 1, 'msg1' => 'Message sent OK, we will be in touch ASAP' ]); exit;</code>
JavaScript 和AJAX
下面的JavaScript 程式碼應該會成功處理AJAX 呼叫:<code class="javascript">$('#msgid').html('<h1>Submitting Form (External Routine)</h1>'); if ($('#formEnquiry').valid()) { $("#msgid").append("<h1>(Outside Ready) VALIDATED send to PHP</h1>"); $.ajax({ url: "ContactFormProcess3.php", type: "POST", data: $('#formEnquiry').serialize(), dataType: "json", 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 />'); } } }); } else { $('#msgid').append('<h1>(Outside Ready) NOT VALIDATED</h1>'); }</code>
確保您的AJAX 調用僅在表單驗證後調用僅在表單驗證後調用僅在表單驗證後調用僅在表單驗證後調用僅在表單驗證後調用僅在表單驗證後調用僅在表單驗證後調用僅在表單驗證後調用僅在表單驗證後調用僅在表單驗證後調用觸發,以避免不必要的伺服器請求。
列出的假定 JSON 資料您獲得的輸出不是 JSON 格式。似乎正在列印 jQuery 的 XHR 物件。
潛在陷阱以上是為什麼即使 PHP 回傳 JSON,jQuery 的 AJAX 呼叫也會收到不正確的資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!