我借用以下代码尝试使启用ajax的WCF服务工作,因为我不断获取405方法错误:
$('#btnSave').click(function (e) {
$.ajax({
type: "POST",
url: "AjaxWcf.svc/ConnectionTest",
contentType: "application/json; charset=utf-8",
data: '{"name":"Elemenex"}',
dataType: "json",
success: function (msg) {
alert(msg.d);
},
error: AjaxFailed
});
function AjaxFailed(result) {
alert(result.status + ' ' + result.statusText);
}
});
在服务代码隐藏中,我有以下内容:
<OperationContract()> _
<WebInvoke(Method:="POST")> _
Public Function ConnectionTest(ByVal name As String) As String
Return String.Format("Hello {0}", name)
End Function
我见过搜索过的&amp;今天整天都在网上试图找出问题所在。我看过.svc
未在IIS中使用POST动词映射的帖子。它不在我的开发PC上,但它在服务器上。两者都给出了405错误。
这是否与web.config
中允许的动词有关?
到目前为止,我有一个漂亮的网站。有这项工作(很快)将真正给人留下好印象。
谢谢!
答案 0 :(得分:1)
您的web.config
服务模式中是否包含此行?
<serviceHostingEnvironment aspNetCompatibilityEnabled="true">
</serviceHostingEnvironment>
答案 1 :(得分:1)
您需要将此属性添加到您的方法中:
ScriptMethodAttribute