使用ajax post响应时会出现错误块

时间:2018-02-20 12:58:18

标签: javascript jquery angularjs ajax

在发送ajax post请求时,数据将进行服务,当从响应中恢复时,它将进入上面的错误函数 有人可以帮我这个

<!-- language: lang-js -->

$.ajax({
    type: "POST",
    url: serviceUrl,
    data: stringData,
    contentType: "application/json",
    dataType: "text", // the data type we want back, so text.  The data will come wrapped in xml
    success: function(response) {
        alert("successs :::::::::::::::" + $("#searchresultsA").html(data)); // show the string that was returned, this will be the data inside the xml wrapper
        return response;
    },
    error: function(response) {
        alert("error ::::::::::::" + response.responseText); // show the data inside the xml wrapper
        return response.responseText;
    },
    failure: function(response) {
        alert("failure ::::::::::::" + response);
        return response;
        }
   });
}

1 个答案:

答案 0 :(得分:1)

您应该在$http上使用$.ajax和AngularJS。您正在寻找一个解决方案,说明您的AJAX响应为什么会出错,而from you previous question,很明显您需要知道如何正确地解析数据。

之前使用的$http(优于$.ajax)希望您的数据以 JSON 的形式到达,但您的后端会将其作为纯文本,为您提供 JSON解析器错误。您需要指定发送此信息的方式以及是否将其编码为JSON。

<小时/>

对于PHP

有一个函数json_encode()可用于将对象/数组作为JSON返回。请使用您的示例尝试以下代码:

echo json_encode( $json );

<小时/>

验证您的回复

考虑使用console.log(response);(异步回调中的 )检查您从后端接收的内容。例如:

$http.post(url, stringData).
then((response)=>{
    console.log(response);
},(error)=>{
    console.log(error);
});