为了账号安全,请及时绑定邮箱和手机立即绑定

有时不执行ajax函数的成功部分

有时不执行ajax函数的成功部分

PHP
子衿沉夜 2021-11-19 16:37:10
我正在编写一个个人网站,但遇到了一个小问题。网站这小部分的目的只是为了执行 sql 命令。我使用 ajax 从另一个文件调用 php 函数,如这部分代码所示:jQuery.ajax({                    type: "POST",                    url: 'send.php',                    dataType: 'json',                    data: {functionname : 'test', arguments: [rep1,rep2,rep3,rep4,rep5,rep6,rep7,rep8,rep9,rep10,rep11,rep12,rep13]},                    success: function (obj, textstatus) {                                  if(!('error' in obj) )                                   {                                      if(obj.result == "success")                                      {                                        messageErreur('Merci d\'avoir pris le temps de répondre à notre questionnaire.', '');                                      }                                  }                                  else                                   {                                      messageErreur(obj.error, 'Erreur');                                  }                            }                    });这是 ajax 函数调用的脚本:<?php         header('Content-Type: application/json');        $aResult = array();        $servername = "localhost";        $username = "root";        $password = "";        $dbname = "amorino";        $conn = new mysqli($servername, $username, $password, $dbname);        if ($conn->connect_error)         {            $aResult['error'] = "Erreur avec la connexion a la base de donnees.";        }        当一切正常时,sql命令执行良好,ajax函数调用函数messageErreur()但我想试试这个小脚本是否一切正常,所以我试图输入错误的数据库主机或用户名。PHP 脚本正确返回信息:{"error":"Erreur avec la connexion a la base de donnees."}但是 ajax 函数不执行它的成功部分,因此不调用该函数 messageErreur(obj.error, 'Erreur');我试图调试 php 脚本和 javascript 但问题不是来自 php 部分。我唯一可以告诉你的是,调用了php脚本,但没有调用ajax函数的成功部分。需要帮忙 !谢谢你 !!
查看完整描述

1 回答

?
噜噜哒

TA贡献1784条经验 获得超7个赞

正如文档所述


Success:请求成功时调用的函数。


如果请求没有成功,则不会调用此函数。在这种情况下,您可以使用 jqXHR.fail()。还有 jqXHR.done()、jqXHR.always() 和 jqXHR.then()。


例如:


jQuery.ajax({

        type: "POST",

        url: 'send.php',

        dataType: 'json',

        data: {

            functionname: 'test',

            arguments: [rep1, rep2, rep3, rep4, rep5, rep6, rep7, rep8, rep9, rep10, rep11, rep12, rep13]

        }

    }).done(function (obj, textstatus) {

        if (!('error' in obj)) {

            if (obj.result == "success") {

                messageErreur('Merci d\'avoir pris le temps de répondre à notre questionnaire.', '');

            }

        } else {

            messageErreur(obj.error, 'Erreur');

        }

    }).fail(function (obj, textstatus, error) {

        //your error handler

    });

您绝对应该阅读ajax的文档


查看完整回答
反对 回复 2021-11-19
  • 1 回答
  • 0 关注
  • 188 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信