Javascript jQueryAjax请求出错,它总是执行错误块
我正在向我的服务器发送一个ajax调用,其中参数是“general”或任何文本,用于搜索查询,为什么它总是给出错误。响应在Javascript jQueryAjax请求出错,它总是执行错误块,javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,我正在向我的服务器发送一个ajax调用,其中参数是“general”或任何文本,用于搜索查询,为什么它总是给出错误。响应在JSON中,我已经提到了,下面的代码有什么问题吗?任何帮助都将不胜感激 $.ajax({ url : "${kb_endpoint_url}", dataType : 'json', data : { search_query : queryValue }, // queryValue = general success : function(
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:意外字符//错误:undefined
编辑:我尝试将类型更改为application/json,现在控制台打印
xhr.responseText:undefined//status:No-conversion-from-text-to-application/json//Error:undefined如果您注释
数据类型:“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 );
}
});
另一个文件(提到的url)
我想,;此错误意味着从URL返回的响应不是JSON,尝试将其解析为JSON时出错
查看网络面板(更简单),或者调整错误处理程序,查看服务器实际返回的响应。如果服务器返回未定义的文本,则这不是有效的JSON,无法解析。
JSON格式中只有null
有效,因此尝试解析undefined
将出现此错误
例如:
JSON.parse("undefined"); // Throws an error, "Unexpected token u"
JSON.parse("null"); // Returns null
根据错误,您的响应不是json格式,或者json文件已损坏。@AmitJoki-是的,它存储在freemarker变量中奇怪的是responseText返回了正确的响应
xhr.responseText: undefined //status: SyntaxError: JSON.parse: unexpected character //Error: undefined
JSON.parse("undefined"); // Throws an error, "Unexpected token u"
JSON.parse("null"); // Returns null