首页 > 后端开发 > php教程 > 如何在 JQUERY AJAX 调用中正确处理来自 PHP 的 JSON 响应?

如何在 JQUERY AJAX 调用中正确处理来自 PHP 的 JSON 响应?

Patricia Arquette
发布: 2024-11-03 01:23:30
原创
797 人浏览过

How to properly handle JSON responses from PHP in a JQUERY AJAX call?

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板