我正在向我的服务器发送ajax调用,其中参数为" general"或任何文本,对于搜索查询,为什么总是给出错误。答案在JSON
,我已经提到了,以下代码的任何问题?任何帮助将受到高度赞赏
$.ajax({
url : "${kb_endpoint_url}",
dataType : 'json',
data : { search_query : queryValue }, // queryValue = general
success : function(data) {
console.log("success");
},
error: function ( xhr, status, error) {
console.log( " xhr.responseText: " + xhr.responseText + " //status: " + status + " //Error: "+error );
}
打印: xhr.responseText: undefined //status: SyntaxError: JSON.parse: unexpected character //Error: undefined
编辑:我尝试将类型更改为application / json,现在控制台打印
xhr.responseText:undefined // status:没有从文本转换为application / json //错误:未定义
答案 0 :(得分:0)
xhr.responseText: undefined //status: SyntaxError: JSON.parse: unexpected character //Error: undefined
我想;此错误表示从您的URL返回的响应不是JSON,尝试解析它时出错。
通过查看responseText
,查看您的网络面板(更简单),或调整错误处理程序以查看服务器实际返回的响应答案 1 :(得分:0)
如果服务器返回文本undefined
,则这不是有效的JSON,无法解析。
只有null
在JSON格式中有效,因此尝试解析undefined
会出现此错误。
例如:
JSON.parse("undefined"); // Throws an error, "Unexpected token u"
JSON.parse("null"); // Returns null
答案 2 :(得分:-1)
如果您对dataType : 'json',
发表评论,则ajax
正常运行。您的回复不是JSON
格式。
$.ajax({
url : "${kb_endpoint_url}",
dataType : 'json',
type : 'post',
data : { search_query : queryValue }, // queryValue = general
success : function(data) {
console.log("success");
},
error: function ( xhr, status, error) {
console.log( " xhr.responseText: " + xhr.responseText + " //status: " + status + " //Error: "+error );
}
});
另一个文件(提到的网址)
<?php
echo json_encode($_POST);
?>