ajax弹出状态值200错误

$.ajax({
		type : "post",
		url : rootPath + "/pay/unifiedOrder",
		dataType : "json",
		contentType:"application/json",
		data : JSON.stringify(_params),
		success : function(result) {
			alert(0);			
		},
		error : function(XMLHttpRequest, textStatus, errorThrown) {
			alert(XMLHttpRequest.status);
			alert(XMLHttpRequest.readyState);
			alert(textStatus);
		}
	});

现在弹出200 和 parseerror,改动之后的代码样子如下:

$.ajax({
		type : "post",
		url : rootPath + "/pay/unifiedOrder",
		dataType : "text",
		contentType:"application/json",
		data : JSON.stringify(_params),
		success : function(result) {
			alert(0);
		},
		error : function(XMLHttpRequest, textStatus, errorThrown) {
			alert(XMLHttpRequest.status);
			alert(XMLHttpRequest.readyState);
			alert(textStatus);
		}
	});
原因是返回的数据不符合json格式,将dataType:“json”改成“text”,错误消失,进入success函数。


之前调试还出现400错误,如下代码所示,原因是data数据需要传入JSON.stringify 做字符串处理。

$.ajax({
		type : "POST",
		url : rootPath + "/pay/unifiedOrder",
		dataType : "text",
		contentType:"application/json",
		data : _params,
		success : function(result) {
			alert(0);
		},
		error : function(XMLHttpRequest, textStatus, errorThrown) {
			alert(XMLHttpRequest.status);
			alert(XMLHttpRequest.readyState);
			alert(textStatus);
		}
	}); 

最早调试时是报415错误,如下代码所示,原因是未加contentType:"application/json"

	$.ajax({
		type : "POST",
		url : rootPath + "/pay/unifiedOrder",
		dataType : "json",
		data : _params,
		success : function(result) {
			alert(0);
		},
		error : function(XMLHttpRequest, textStatus, errorThrown) {
			alert(XMLHttpRequest.status);
			alert(XMLHttpRequest.readyState);
			alert(textStatus);
		}
	});

你可能感兴趣的:(json,Ajax)