AJAX 调用 ASMX 网络方法无效
AJAX call for ASMX web method not working
我正在尝试使用 ajax 调用来调用 Web 方法(ASMX 服务),下面是我的 ajax 调用:
$.ajax({
type: "POST",
url: "/License.asmx/SubmitDatas",
data: jsonString,
Type: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
var data = response;
console.log(data);
$('#monitordata').append(JSON.stringify(data))
},
failure: function (response) {
console.log(response);
}
});
后端 ASMX 服务:
[WebMethod]
public string SubmitDatas(SubmitData submitData)
{
}
注意:SubmitData是我自定义的模型class
错误:
System.InvalidOperationException: SubmitDatas Web Service method name is not valid.
at System.Web.Services.Protocols.HttpServerProtocol.Initialize()
at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing)
当我尝试 post 时,抛出上述异常。
如果您的 asmx 文件位于根目录中,请尝试从 url 中删除第一个斜杠(不确定是否重要)。
用小 t
拼写 Type
。我将不得不假设 jsonString 没问题。 (似乎不相关。)
请注意,您的方法参数接受类型 SubmitData
public string SubmitDatas(SubmitData submitData)
但是你发送的是一个字符串。你的方法参数应该是
[WebMethod]
public string SubmitDatas(string submitData) // <-- string.
{
}
此外,仅供参考,Datas 是一个常见错误。 Datas 不是英文单词; data 是 datum 的复数形式。在英语中,datas 从未 使用过。 ESL的一个常见错误。
我正在尝试使用 ajax 调用来调用 Web 方法(ASMX 服务),下面是我的 ajax 调用:
$.ajax({
type: "POST",
url: "/License.asmx/SubmitDatas",
data: jsonString,
Type: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
var data = response;
console.log(data);
$('#monitordata').append(JSON.stringify(data))
},
failure: function (response) {
console.log(response);
}
});
后端 ASMX 服务:
[WebMethod]
public string SubmitDatas(SubmitData submitData)
{
}
注意:SubmitData是我自定义的模型class
错误:
System.InvalidOperationException: SubmitDatas Web Service method name is not valid.
at System.Web.Services.Protocols.HttpServerProtocol.Initialize()
at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing)
当我尝试 post 时,抛出上述异常。
如果您的 asmx 文件位于根目录中,请尝试从 url 中删除第一个斜杠(不确定是否重要)。
用小 t
拼写 Type
。我将不得不假设 jsonString 没问题。 (似乎不相关。)
请注意,您的方法参数接受类型 SubmitData
public string SubmitDatas(SubmitData submitData)
但是你发送的是一个字符串。你的方法参数应该是
[WebMethod]
public string SubmitDatas(string submitData) // <-- string.
{
}
此外,仅供参考,Datas 是一个常见错误。 Datas 不是英文单词; data 是 datum 的复数形式。在英语中,datas 从未 使用过。 ESL的一个常见错误。