Home  >  Article  >  Backend Development  >  Error solution to parsererror under ajax cross-domain request

Error solution to parsererror under ajax cross-domain request

小云云
小云云Original
2018-01-08 13:23:534485browse

This article mainly brings you a perfect solution to the parsererror error under ajax cross-domain request. The editor thinks it is quite good, so I will share it with you now and give it as a reference for everyone. Let’s follow the editor to take a look, I hope it can help everyone.

The parsererror error reported by ajax request is a very broad concept. This error is reported in many cases.

In many cases, even if ajax submits and returns normally

XMLHttpRequest.status=200 (normal response)

XMLHttpRequest.readyState=4 (normal reception)

ajax will also prompt a parseerror error.

This error is mostly caused by bad writing habits or improper grammar.

For ajax errors, please use:

error:function(XMLHttpRequest, textStatus, errorThrown){
   $("p").html(textStatus);
   $("p").append("<br/>"XMLHttpRequest.status);
   $("p").append("<br/>"XMLHttpRequest.readyState);
   $("p").append("<br/>"XMLHttpRequest.responseText);
}

or:

$("p").ajaxError(function(event,request, settings){
   $(this).append("<li>出错页面:" + settings.url + "</li>");
});

Get error-related information for analysis.

textStatus returns null, "timeout", "error", "notmodified" and "parsererror".

The XMLHttpRequest object can use status, readyState, responseText and other attributes to obtain the HTTP code, processing status and text content returned by the server.

In the process of using ajax and related application development, Programs must be written according to standards to reduce the chance of errors.

This standard includes grammar, data format, punctuation, etc.

In an ajax cross request, if data is empty, Please use;

data:"{}",

When the ajax processing server returns Json format data, if the $.parseJSON() method is used,

then The Json data format returned by the server must be written in the standard Json format.

must be surrounded by double quotes instead of single quotes for characters. Values ​​and Boolean types are not used for null.

This is mainly caused by the difference between single quotes and double quotes in some old jquery versions, resulting in error prompts.

In ajax cross-domain requests (jsonp), the data format returned by the server must be:

myCallbackFunction({"id":1,"name":"C#","is_familiar":true});

Please note the semicolon at the end of this function ";" must be added,

Otherwise, if there are multiple ajax requests for the same page, and when the data is not returned, and then other ajax requests are issued,

It is possible that a parsererror error message may appear.

This kind of error is very hidden and is not easy to find during development. It is easily exposed during concurrent testing.

Related recommendations:

Solution to the problem of cookie loss in Ajax cross-domain access_AJAX related

JS implements Ajax cross-domain request flask response content

Detailed examples of the principle of Ajax cross-domain requests

The above is the detailed content of Error solution to parsererror under ajax cross-domain request. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn