使用 Jquery 在 AJAX 中未调用错误函数

发布于 2024-11-09 03:59:15 字数 766 浏览 0 评论 0原文

 $("#submit").click(function(){
    $.ajax({
       type: "POST",
       url: "session.php",
       data: "name=John123&location=Boston",
       success: function(a, msg2){
          $('#feedback').removeClass().addClass('success').text(a +' '+msg2).fadeIn('slow');

       },

         error: function(a, b, c){
              $('#feedback').removeClass().addClass('error').text('This is' +b).fadeIn('slow');
           },

我试图在 PHP 中使用以下代码来调用错误函数:

if ($_POST['name'] != "John") {
        $message['error'] = true;
        $message['message'] = "Hmm, please enter a subject in the subject field.";

        echo json_encode($message);
}
else
{
    echo $_POST['name'];
}

但我总是调用成功函数。有什么方法可以调用错误函数。

 $("#submit").click(function(){
    $.ajax({
       type: "POST",
       url: "session.php",
       data: "name=John123&location=Boston",
       success: function(a, msg2){
          $('#feedback').removeClass().addClass('success').text(a +' '+msg2).fadeIn('slow');

       },

         error: function(a, b, c){
              $('#feedback').removeClass().addClass('error').text('This is' +b).fadeIn('slow');
           },

I'm trying to invoke error function using the following code in PHP:

if ($_POST['name'] != "John") {
        $message['error'] = true;
        $message['message'] = "Hmm, please enter a subject in the subject field.";

        echo json_encode($message);
}
else
{
    echo $_POST['name'];
}

But I'm always getting success function invoked. Is there any way i can get error function invoked.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

护你周全 2024-11-16 03:59:15

您需要将 HTTP 状态代码设置为 500(或任何其他 >= 400)以指示出现错误。

You need to set the HTTP status code to 500 (or anything else >= 400) to indicate that there was an error.

佼人 2024-11-16 03:59:15

为什么你不做这样的事情:

$("#submit").click(function(){
    $.ajax({
        type: "POST",
        url: "session.php",
        data: "name=John&location=Boston",
        success: function(a, msg2){
            if(a.error) {
                $('#feedback').removeClass().addClass('error').text('This is' +a.message).fadeIn('slow');
            }
            else {
                $('#feedback').removeClass().addClass('success').text(a.name +' '+msg2).fadeIn('slow');
            }
        }
    });
});

并且:

if ($_POST['name'] != "John") {
    $message['error'] = true;
    $message['message'] = "Hmm, please enter a subject in the subject field.";
}
else
{
    $message['error'] = false;
    $message['name'] = $_POST['name'];
}
echo json_encode($message);

仅当ajax失败时才会调用错误函数,因此你可以检查ajax是否返回错误存在或不存在。

Why won't you do something like this:

$("#submit").click(function(){
    $.ajax({
        type: "POST",
        url: "session.php",
        data: "name=John&location=Boston",
        success: function(a, msg2){
            if(a.error) {
                $('#feedback').removeClass().addClass('error').text('This is' +a.message).fadeIn('slow');
            }
            else {
                $('#feedback').removeClass().addClass('success').text(a.name +' '+msg2).fadeIn('slow');
            }
        }
    });
});

And:

if ($_POST['name'] != "John") {
    $message['error'] = true;
    $message['message'] = "Hmm, please enter a subject in the subject field.";
}
else
{
    $message['error'] = false;
    $message['name'] = $_POST['name'];
}
echo json_encode($message);

The error function is invoked only when the ajax fails, so instead you can check if the ajax returned that the error exists or not.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文