【问题标题】:jQuery $.ajax - Calling error function from success function?jQuery $.ajax - 从成功函数调用错误函数?
【发布时间】:2013-01-13 05:05:08
【问题描述】:

在 php 脚本中,尝试插入数据库后,我将返回到调用 $.ajax() 函数的新记录的 id 或错误消息:

if ($newID > 0) {
    // Successfully added new record
    echo $newID;
} else {
    // No new record was inserted
    echo 'Error: ' . mysqli_error($dbc);
}

我的问题是:如果 php else 子句被触发并且我通过 echo 传递一个字符串,那么 $.ajax 函数中不会调用 success() 函数吗?有没有办法根据从 php 脚本传递的内容以某种方式“触发” $.ajax error() 函数?

【问题讨论】:

    标签: javascript php jquery error-handling


    【解决方案1】:

    $.ajax.error() 不应该真的被触发,因为 AJAX 调用是成功的。但是,我想如果你真的想要的话,你可以返回一个不同的标题:

    header("HTTP/1.0 404 Not Found");
    

    http://php.net/manual/en/function.header.phphttp://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

    【讨论】:

    • 我是这么认为的。如果我在 php 脚本中获取新 ID:“$newID = @mysqli_insert_id($dbc);”并且插入不起作用,那么ajax中的错误函数会调用吗? (即我真的需要我的问题中的 if/else 代码吗?)
    • 如果插入失败(并且静默失败),页面仍应返回 200,因此您需要 if/else 来检测是否应返回自定义标头。
    猜你喜欢
    • 1970-01-01
    • 2013-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-22
    • 2012-07-27
    相关资源
    最近更新 更多