【发布时间】:2018-01-06 23:22:25
【问题描述】:
我正在尝试使用 ajax 将数据传递给服务器。
由于 jquery 有 .ajaxStop 事件,当所有 ajax 方法完成时将调用该事件,我需要将常规 js 代码更改为 jquery,因为它不适用于常规 js。
问题是每次我运行 jquery 代码时,在浏览器控制台中都会出现此错误。
'PassDataToServer' is not defined
C#代码
[WebMethod]
public static string PassDataToServer(String id, String clientData)
{
if (!dynamicInputs.ContainsKey(id))
dynamicInputs.Add(id, clientData);
else
dynamicInputs[id] = clientData;
return "complete";
}
旧的正则 JS
function CallPassDataToServer(id, clientData) {
PageMethods.PassDataToServer(id, clientData, onTransferComplete, onTransferFailed);
}
jquery 失败方法
function PassInputDataToServer(id, inputData)
{
alert(document.URL + "/" + PassDataToServer);
$.ajax({
type: "POST",
url: document.URL + "/" + PassDataToServer,
data: { "id": "'" + id + "'", "clientData": "'" + inputData + "'" },
contentType: 'application/json; charset=utf-8',
dataType: "text",
success: function (result) { transferStatus.push(result); },
error: function (result) { transferStatus.push("failed"); },
complete: function (result) { transfersCompleted++; }
});
}
【问题讨论】:
-
看不到错误中指出的
PassDataToServer定义的任何地方 -
该功能工作正常,但我不知道有一种简单的方法可以等待它们全部完成。它调用它大约 6 次,但到我的回发函数被调用时,只完成了 4 次。当我开始调用 jquery 函数时,我才开始收到未定义的错误。
标签: jquery asp.net ajax asp.net-ajax