猿问

在来自 php 函数的 ajax 响应上显示错误

我有一些像这样的ajax调用


function ExportData() {

  var data = {

    action: "export_database", // the name of your PHP function!

  };


  jQuery.ajax({

    type: "POST",

    url: ajaxurl,

    data: data,

    beforeSend: function () {},

    success: function (data) {

      alert(data);

    },

  });

}

和这样的php函数


function export_database(){

  return $response;

}

问题在于那个回应我有这样的事情


{

    "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",

    "title": "One or more validation errors occurred.",

    "status": 400,

    "traceId": "|3fa58ee1-48bf0cb9f60bfa25."

}

我只想提醒标题,但是当我尝试data.title时,我得到了undefine 我必须编码或解码某些东西吗,谢谢?


30秒到达战场
浏览 154回答 3
3回答

jeck猫

这就是你所需要的。只需访问该对象data.title,它就会显示在alert()您需要dataType在请求中定义为 json。如果它不起作用,请JSON.parse(data)像这样使用:var response = JSON.parse(data)alert(response.title)尝试以下:function ExportData() {  var data = {    action: "export_database", // the name of your PHP function!  };  jQuery.ajax({    type: "POST",    url: ajaxurl,    dataType: 'json'    data: data,    beforeSend: function () {},    success: function (data) {      alert(data.title);    },    error: function(error){      //Error      alert(error.title)    }  });}

HUWWW

尝试以下:    function ExportData() {      var data = {        action: "export_database", // the name of your PHP function!      };      jQuery.ajax({        type: "POST",        url: ajaxurl,        data: data,        beforeSend: function () {},        success: function (data) {          var parsedData = jQuery.parseJSON(data)          alert(parsedData.title);        },      });    }

侃侃尔雅

您必须使用 JSON.parse() 来访问数据对象,如下所示:function ExportData() {  var data = {    action: "export_database", // the name of your PHP function!  };  jQuery.ajax({    type: "POST",    url: ajaxurl,    data: data,    beforeSend: function () {},    success: function (data) {var res = JSON.parse(data)      alert(res.title);    },  });}
随时随地看视频慕课网APP
我要回答