Php jqueryajax调用在页面标题之前返回结果,导致parseerror
我试图使用JSON创建一个简单的AJAX调用,但结果中不断出现解析错误,当我检查resultText时,它会显示整个页面的源代码,JSON响应在页面标题上方显示成功 这是我的AJAX调用,其中类是一个带有值的选择框Php jqueryajax调用在页面标题之前返回结果,导致parseerror,php,jquery,ajax,json,parse-error,Php,Jquery,Ajax,Json,Parse Error,我试图使用JSON创建一个简单的AJAX调用,但结果中不断出现解析错误,当我检查resultText时,它会显示整个页面的源代码,JSON响应在页面标题上方显示成功 这是我的AJAX调用,其中类是一个带有值的选择框 $("#class").change( function () { if($('#class').val().length > 0){ $.ajax({ type
$("#class").change( function () {
if($('#class').val().length > 0){
$.ajax({
type: "GET",
url: "http://192.168.0.9/ajax",
data: 'class_id=' + $("#class").val(),
datatype: 'json',
async: 'true',
beforeSend: function() {
alert("Before send!");
},
success: function(result){
if (result.status){
$('#result').html(result);
} else {
alert('request unsuccessful!');
}
},
complete: function() {
alert("Complete!");
},
error: function (request,error) {
alert('A jQuery error has occurred. Status: ' + error +':'+ request.responseText);
$("#result").html(request.responseText);
}
});
} else {
alert('Please make a selection');
}
return false;
});
这是我返回结果的PHP函数
$result = array();
$result['status'] = "success";
$result['message'] = "Types";
header("Content-Type: application/json; charset=utf-8", true);
echo json_encode($result);
最后,这是我在错误警报中得到的响应:
A jQuery error has occurred status:parseerror
{"status":"success", "message":"Types"}<!DOCTYPE html>
<html>
...rest of my page from where the request was sent
我希望这是一个简单的错误,有人能告诉我我做错了什么?也许您的参数应该是JSON格式的pass:
data: "{'class_id':'" + $("#class").val() + "'}",
尝试从Javascript中删除数据类型:“json”,并删除headerContent类型:application/json;字符集=utf-8,真;它应该识别自身函数所在的页面是否与最初加载的页面相同?如果你只是把出口关上,会发生什么;在你的回音声明之后?谢谢艾伦,我现在对你的建议有了进一步的了解。解析错误消失,现在返回成功,但是result.status返回为“undefined”,因此现在我收到一个请求失败警报,而不是数据。有什么想法吗?我真的找到了一个相关的帖子