Javascript Ajax get上的意外令牌非法

Javascript Ajax get上的意外令牌非法,javascript,jquery,json,ajax,Javascript,Jquery,Json,Ajax,我通过ajax发送动态生成的sql 我得到了parsererror-Error:reportDataFunction没有被调用-ERROR123-reportDataFunction 我在google chrome控制台中收到了这个错误未捕获的SyntaxError:uncontracted token invalign 这是一个错误: http://MYWEBSITE/webService/myService.asmx/myServiceDB?callback=reportDataFuncti

我通过ajax发送动态生成的sql 我得到了
parsererror-Error:reportDataFunction没有被调用-ERROR123-reportDataFunction

我在google chrome控制台中收到了这个错误
未捕获的SyntaxError:uncontracted token invalign

这是一个错误:

http://MYWEBSITE/webService/myService.asmx/myServiceDB?callback=reportDataFunction&userName=dskrbic&procedureName=declare+%40result+xml+SET+%40result+%3D(SELECT+unitCode+AS+unitCode+FROM+unit+WHERE+universityCode+%3D+144+FOR+XML+path%2Croot%2CELEMENTS+XSINIL)DECLARE+%40outputValue+nvarchar(MAX)+EXECUTE+convertJSONPMulti+%40result%2C+%40outputValue+output+SET+%40outputValue+%3D%27selectView+%3A%27%2B%40outputValue+SELECT+%27%7B%27%2B+%40outputValue+%2B%27%7D%27&_=1459259972547
这是我的程序,我正在呼叫:

 var procedureVal = "declare @result xml SET @result =(SELECT unitCode AS unitCode FROM unit WHERE universityCode = 144 FOR XML path,root,ELEMENTS XSINIL)DECLARE @outputValue nvarchar(MAX) EXECUTE convertJSONPMulti @result, @outputValue output SET @outputValue ='selectView :'+@outputValue SELECT '{'+ @outputValue +'}'"
这是我的ajax

 $.ajax({
    crossDomain: true,
    type: "GET",
    contentType: "application/json; charset=utf-8",
    async: false,
    url:"URL",
    data: { userName: "dskrbic", procedureName: procedureVal },
    dataType: "jsonp",
    jsonpCallback: "reportDataFunction",
    error: function (xhr, textStatus, errorThrown) {
        alert(textStatus + ' - ' + errorThrown + ' - ERROR123 - ' + "reportDataFunction")
    }
});
若我直接在sql中的查询中粘贴我的过程,或者若我直接通过webService调用它,若我转到我的webService的链接,我会得到结果,但若我通过ajax调用它,我会得到错误。这是我得到的例子:

({selectView :[    {\"unitCode\":\"1\"},    {\"unitCode\":\"2\"},    {\"unitCode\":\"3\"},{\"unitCode\":\"4\"}]});
知道问题出在哪里吗?谢谢你的帮助

编辑:

我的头像

这就是我的回答:

reportDataFunction({selectView:[{\'unitCode\':\'1\'},{\'unitCode\':\'2\'},{\'unitCode\':\'3\'}


从第一个开始“响应是红色的,我想这附近有错误?

由于某种原因,我无法发送sqlQuery的这部分内容

SET @outputValue ='selectView :'+@outputValue SELECT '{'+ @outputValue +'}'"

所以我把它分成了三部分,制作了一个包含这一部分的过程,我将生成的值发送到该过程,在那里我将它们放在一起并作为一个执行

那么,当您通过ajax尝试请求时,实际的响应是什么呢?检查浏览器开发人员控制台。@Pointy,除非我得到了未捕获的SyntaxError:意外标记非法除了Get的链接地址之外,这里没有其他内容,我将把它添加到main post中的“意外令牌”"错误可能来自不可见的Unicode字符。如果从网站剪切和粘贴代码,可能会发生这种情况。很难找到这些错误;错误发生在哪一行代码上?如果是在ajax调用中而不是在页面加载中出现错误,则意味着错误与返回的文本有关。这就是为什么需要在浏览器中查看,这样您就可以看到实际的HTTP响应内容。好的,HTTP响应是什么样子的?这就是错误所在。