使用jQuery从纯HTML网站调用.net webservice

我想知道可以使用jQuery从HTML页面调用托管的.net Web服务吗? 我尝试了这段代码,但它对我不起作用:

$('#myForm').click(function() { $.ajax({ type: "POST", data: '{}', url: "http://localhost:49590/Service.asmx?op=HelloWorld", contentType: "application/json; charset=utf-8", dataType: "json", success: function(response) { alert(response.d); }, failure: function(result) { alert(result.status + ' ' + result.statusText); } }); }); 

Web服务就是这样的:

 [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. [System.Web.Script.Services.ScriptService] public class Service : System.Web.Services.WebService { [WebMethod] public string HelloWorld() { return "Hello World"; } } 

我搜索了这个,只找到了从asp.net或asp.net mvc项目完成的例子。 我不知道我错过了什么,但我认为这可以从一个简单的HTML网站使用javascript,所以有人可以指出我正确的方向。

干杯!

我想你只是有一些语法错误。 我创建了以下经典Web服务:

 [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] [System.Web.Script.Services.ScriptService] public class HelloWorld : System.Web.Services.WebService { [WebMethod] public string Hello(string name) { return "Hello " + name; } } 

以下HTML页面:

    Calling Classic Web Services with jQuery     Greetings!   

并能够产生有效的回应。

希望有所帮助!

编辑:这是我在Visual Studio 2010中创建Web服务的方式。请注意,我将框架更改为3.5,尽管2.0和3.0提供了相同的项目。 4没有。

Classic Web Service in Visual Studio 2010

如果你没有使用VS2010,网络配置可能看起来有点裸露,但知道我根本没有触摸它: