javascript - jQuery/PHP输出自定义错误消息

标签 javascript php jquery ajax error-handling

我在表单的输入字段上有一个Ajax自动完成框。在jquery中,我具有以下ajax设置

 $.ajax({
    type: "POST",
    url: myUrl,
    data: $("#id__form").serialize(),
    success: function(data){
                  alert("do something");
              },
    error: function (xhr, textStatus, thrownError) { 
                  alert(xhr.status+ " "+ thrownError+ " " + textStatus);
              },
   dataType: "json"
    });

在服务器端,我有以下php代码
  $data = array('type' => 'error', 'message' => 'Error: '.$text);
    header('HTTP/1.1 400 Bad Request');
    header('Content-Type: application/json; charset=UTF-8');
    die(json_encode($data));

无论成功还是出错,一切都可以正常工作。但是,我没有弄清楚如何从jquery访问在php中定义为$ text的文本。

xhr.status为400,textStatus为“错误”,throwError为“错误请求”,但没有任何迹象表明我定义为$ text

我缺少什么?

最佳答案

如果您在文件中回显$ text变量,则可以从javascript文件中获取它。

php代码:

     echo $text;

更改为javascript:
    $.ajax({
     type: "POST",
    url: myUrl,
      data: $("#id__form").serialize(),
     success: function(data){

              //do something with the data returned from php file
              alert(data);//<---change to javascript code


          },
         error: function (xhr, textStatus, thrownError) { 
              alert(xhr.status+ " "+ thrownError+ " " + textStatus);
          },
       dataType: "json"
        });

关于javascript - jQuery/PHP输出自定义错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26941314/

相关文章:

javascript - 运行 do while 循环会导致 fatal error

javascript播放声音启动太慢

php - 使用 php 计算 Sql 表行并在 HTML 中显示

jquery - 如何让 jquery 等待一个函数完成后再执行另一个函数来更新行颜色?

javascript - Backbone targetModel = undefined

javascript - 如何从同名符号访问数据用作 JavaScript 中的对象键

php - 找到合适的 child 后如何在多维数组中向上导航?

javascript - 如何通过ajax追加表体

jquery - 更改输入焦点上的标签背景颜色

javascript - 如何从数据库中获取值并在单击提交按钮之前显示计算值