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中文网其他相关文章!