谁能给我一个清晰的演练如何使用 jsonp 调用 ashx 处理程序或告诉我我做错了什么?我在一个子域上有一个 javascript 函数,试图在另一个子域上调用 ashx 处理程序。当我尝试返回 200 状态时,但它仍然进入我的错误处理并报告 SyntaxError: Invalid character 的 throwedError。我在 jquery 和 jsonp 上找到了几个线程,但只有一个实际上显示了与 ashx 相关的任何代码。不幸的是,它似乎没有工作,我不知道为什么。这是来自 javascript 调用的代码,然后是 ashx 响应。
var sPay = getEl('chkPay').checked ? "pay=1" : "";
var sUrl = "/Calculator/GetCalcResult.ashx?jsoncallback=?" + sPay;
$.getJSON(sUrl, function (data) {
console.log("Success:" + data);
}).error(function (xhr, ajaxOptions, thrownError) {
console.log("Status:" + xhr.status);
console.log("Error:" + thrownError);
});
然后是 ashx 处理程序...
var jsonstr =
"{\"calculatorresults\":{" +
"\"employees\" : \"" + employeeCount + "\"" +
"\"pay\" : \"" + calculationResult.PayTotal + "\"" +
"\"total\" : \"" + calculationResult.Total + "\"" +
"}}";
context.Response.ContentType = "application/json";
context.Response.Write(string.Format("{0}({1});", context.Request["jsoncallback"], jsonstr));