我无法从 jquery 调用 webmethod。我认为它与 web.config 文件有关。如何为 web 服务和 webmethod 设置 web.config 文件?
问问题
1185 次
1 回答
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 配置,请参阅如何让 ASMX 文件输出 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>
于 2010-11-08T22:42:01.120 回答