我无法从jquery调用webmethod。我认为它关于web.config文件。如何为web服务和webmethod设置web.config文件?
答案 0 :(得分:0)
你有这个代码吗?
$.ajax({
url: "Services/MyService.svc/Service",
type: "GET",
context: document.body,
contentType: 'application/json; charset=utf-8',
datatype: 'json',
success: function (data) {
// do something
}
});
请注意 contentType 部分至关重要。
如果您这样做,请检查Firebug以查找在“网络”标签中引发的确切错误。 通常,人们根据服务类型有不同的问题 - ASP.NET asmx与WCF svc。有关asmx配置,请参阅How to let an ASMX file output JSON。对于wcf,您需要设置web.config以允许Web脚本,如下所示:
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="AspNetAjaxBehavior">
<enableWebScript/>
</behavior>
</endpointBehaviors>
</behaviors>
然后配置服务以使用该行为:
<services>
<service name="MyProject.Services.MyService">
<endpoint address="/Services/MyService.svc" behaviorConfiguration="AspNetAjaxBehavior" binding="webHttpBinding" contract="MyProject.Services.MyService"/>
</service>
</services>
</system.serviceModel>