2009-02-26 61 views
2

我借下面的代碼,試圖使支持AJAX的WCF服務工作,因爲我一直得到405方法不被允許錯誤:405方法試圖發佈到Web服務時不允許錯誤

$('#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 

我已經看到了搜索下來&淨今天一天都試圖找到這個問題可能是什麼。我已經看到帖子,其中.svc未與IIS中的POST動詞映射。它不在我的開發PC上,但它在服務器上。兩者都給出了405個錯誤。

這可能與web.config允許的動詞有關嗎?

我有一個漂亮的網站,迄今爲止&有這項工作(並很快)將真正留下好印象。

謝謝!

回答

1

您需要將此屬性添加到您的方法:

ScriptMethodAttribute 
+0

這是該示例及與一些調整的工作也是我需要的東西的工作以及... – wali 2009-02-27 00:22:03

1

你的web.config服務模式中是否有這條線?

<serviceHostingEnvironment aspNetCompatibilityEnabled="true"> 
</serviceHostingEnvironment> 
+0

是的,這是設置爲true ... – wali 2009-02-26 21:09:44

相關問題