我通过ajax发送动态生成的sql
我得到了parsererror - Error:reportDataFunction was not called - ERROR123- reportDataFunction
我在Google Chrome控制台中收到此错误Uncaught SyntaxError: Unexpected token ILLEGAL
。
这就是错误:
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的查询中粘贴我的procedureVal,或者如果我直接通过webService调用它,如果我转到我的webService的链接我得到结果但是如果我通过ajax调用它我得到错误。这就是我得到的例子:
({selectView :[ {\"unitCode\":\"1\"}, {\"unitCode\":\"2\"}, {\"unitCode\":\"3\"},{\"unitCode\":\"4\"}]});
知道问题出在哪里?谢谢你的帮助
编辑:
这就是我的回答:
reportDataFunction({selectView:[{\" unitCode \":\" 1 \"},{\" unitCode \":\& #34; 2 \"},{\" unitCode \":\" 3 \"} .....
从第一个"响应是红色的,我认为周围有错误吗?
答案 0 :(得分:0)
由于某种原因,我无法发送这部分sqlQuery
SET @outputValue ='selectView :'+@outputValue SELECT '{'+ @outputValue +'}'"
所以我将它分成3个部分,并制作了具有该部分的程序,并且我将生成的值发送到该程序,我将它们放在一起并作为一个执行