我正在尝试使用JSON创建一个简单的AJAX调用,但是我一直在结果上得到一个解析错误,当我检查resultText时,它显示整个页面的源代码,JSON响应显示在上面的成功页眉。
这是我的AJAX调用,其中#class
是一个带值的选择框。
$("#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
我希望这是一个简单的错误,有人可以告诉我我做错了什么?
答案 0 :(得分:0)
也许您的参数应该以JSON格式传递:
data: "{'class_id':'" + $("#class").val() + "'}",
答案 1 :(得分:0)
尝试从Javascript移除datatype:'json'
,header("Content-Type: application/json; charset=utf-8", true);
它应该识别自己