Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQueryAjax请求出错,它总是执行错误块_Javascript_Jquery_Ajax_Json - Fatal编程技术网

Javascript jQueryAjax请求出错,它总是执行错误块

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(

我正在向我的服务器发送一个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:意外字符//错误: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