我在通过JQuery访问C#webservice时遇到了一些问题。我有一个WSDL和一个.svc,我不完全确定如何访问我需要的功能。我读过:http://www.andrewrowland.com/article/display/consume-dot-net-web-service-with-jquery/但是在我的应用程序中没有.asmx页面的地方没有任何意义。我知道这是一个新手问题,但我真的被卡住了。
答案 0 :(得分:2)
在服务器端,您可以使用[WebGet]或[WebInvoke]属性发布服务操作,
[WebGet]
public string Get()
{
return "Hello, world!";
}
请记住,您还需要使用WebHttpBinding来获取REST功能,有关详细信息,请参阅此链接:http://weblogs.asp.net/kiyoshi/archive/2008/10/08/wcf-using-webhttpbinding-for-rest-services.aspx
然后在客户端,您可以使用$ .ajax或$ .get来调用该函数,
$.get("http://localhost/somewcfservice.svc/Get", function (data) {
alert(data);
}
第一个参数是服务操作的URI,第二个参数是您在收到数据后作为回调传递给$ .get方法的函数。
上面的代码应该在浏览器中生成一个警告“Hello,world!”
请点击此处了解详情:http://msdn.microsoft.com/en-us/library/system.servicemodel.web.webgetattribute.aspx
答案 1 :(得分:1)
这是你可以通过的article。如果您使用的是WCF,请忘记.asmx。 ASMX是不应再使用的遗留内容。如本文所述,您可以使用REST端点公开您的WCF服务,以便可以通过javascript访问它。