【问题标题】:Get error or success status in ajax with php使用 php 在 ajax 中获取错误或成功状态
【发布时间】:2012-10-18 14:09:50
【问题描述】:

我在 PHP 中使用 jQuery Ajax。当我使用带有 jQ​​uery Ajax 的 post 时,它会将请求发送到 PHP(服务器)。在我的 PHP 代码中,我想返回状态成功或错误。如果出错,发送错误码和错误信息,否则成功返回成功码和信息。

如何在 jQuery Ajax 中使用 PHP 做到这一点?

编辑:

$.post(url, { id: id },
function(data) {
    // success code do here.
});

【问题讨论】:

  • 添加您的 ajax 代码以获得明确的答案!
  • 您可以在帖子中查看我的编辑。对于我的 jQuery ajax 工作正常。我想要的是如何确定它是错误还是成功,以及我们如何在 php 代码中响应。
  • 这里是处理 Ajax 帖子成功和错误的链接Click
  • @ArunManjhi 谢谢。但这只是ajax代码。我们在 php 中编写什么代码来确定或让 ajax 知道它出错了?

标签: php jquery ajax


【解决方案1】:

只需返回带有 json 编码的数组...

header('Content-Type: application/json');
$array = array("status"=>"success");
echo json_encode($array);
exit();

出口是为了防止任何进一步的回声。

在你的 ajax ..

$.post(url, { id: id },
function(data) {
    alert(data.status);
}, 'json');

data.status 等于你的 php 数组键状态..

只捕获 Ajax 错误...您可以设置简单..

header('Content-Type: application/json');
echo "string whithout json_encode";
exit();

在这种情况下,将您的 ajax 更改为 ...

$.post(url, { id: id },function(data) {}, 'json')
.success(function(data) { alert("success"); })
.error(function(data) { alert("error"); });

【讨论】:

  • 在这种情况下意味着所有状态错误或成功都是对ajax中成功函数的响应。所以php中的所有代码都只返回确定它是错误还是成功的json数据,但不能将它设置为可以被ajax捕获的错误
  • @KH-DP 你是对的。我个人更喜欢我的 PHP 告诉我一切是否成功,而不是只信任 ajax 响应。这样,如果失败等,您可以返回和错误消息。
  • 我只接受您对 json 内容类型作为您返回的 json 的回答。
【解决方案2】:

用回显返回

PHP: 
if($check == 0){ 
    echo 'success';
    exit();
}
else {
    echo 'failed';
    exit();
}

jquery :
$.post(url, { id: id },
function(data) {
    alert(data);
});

【讨论】:

    猜你喜欢
    • 2014-07-27
    • 2014-07-10
    • 1970-01-01
    • 2015-12-05
    • 1970-01-01
    • 2013-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多