我在网上看到了许多不同的答案,并做了很多复制和粘贴。它对我不起作用。谁能告诉我为什么??我很沮丧>_<我必须对我的 web.config 文件做些什么吗?我不明白即使是我的“WebService.asmx/add”也不会从我的浏览器返回任何内容(因为没有这样的链接。)jQuery 将如何获得任何结果?我必须添加一些httphandler,对吗?
问问题
2877 次
2 回答
1
正如我在您的图片中看到的,您的 webmethod 没有静态方法。
webmethod 应该是静态方法,以便使用服务。 Web方法和静态
[WebMethod]
Public static string HelloWorld()
{
return "Hi";
}
请通过此链接获取更多信息
于 2013-03-11T15:46:35.033 回答
0
我不知道我是被讨厌还是什么。只是没有人回答我。很伤心。...>_<... 经过几天的研究,我找到了一些工作方法需要将数据序列化为 JSON 字符串的属性是
[System.Web.Script.Services.ScriptService]
所以我有我的 asmx 代码
<%@ WebService Language="C#" Class="WebService" %>
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Web.Script.Services;
using System.Data;
using System.Data.SqlClient;
[System.Web.Script.Services.ScriptService]
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class WebService : System.Web.Services.WebService {
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string HelloWorld() {
return "Hello World";
}
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public int add(int a, int b)
{
return a + b;
}
}
我的 jQuery 代码为
$(
function () {
$.ajax({
type: "POST",
url: 'WebService.asmx/add',
data: "{'a':15, 'b':20}", //be careful! do pass it as a string
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
alert(msg.d);
},
error: function (e) {
alert("WebSerivce unreachable");
}
});
}
);
正确返回 35。
好的!
于 2013-03-13T14:50:55.717 回答