3
我有一個帶有3個字符串參數的WCF服務。使用jQuery和JSON調用此方法確實可以達到我的方法,但只有一個參數包含一個值 - 其他參數即使傳遞,也會收到null。任何想法爲什麼?jQuery使用JSON WCF
[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest)]
public string Save(string site, string title, string contentType)
{
// method...
}
JS:
$.ajax(
{
type: "POST",
url: "/Service.svc/Save",
dataType: "json",
data: "{\"title\": \"title...\", \"site\": \"site...\", \"contentType\": \"contentType...\"}",
contentType: "application/json; charset=utf-8",
success: function(data) {
},
error: function() {
alert("Sorry, an error has occured");
}
}
你有沒有嘗試糾正參數的順序?您的服務方法接受訂單網站,標題和內容類型中的參數,但是您要以訂單標題,網站和內容類型發送它。不知道這是否會解決它,但它是值得一試。 –
是的,對不起,我應該提到這一點。 params的順序不會改變結果。標題是其價值被接收的唯一參數。 – johnnyboy
當我嘗試它時有效。我在VS2010中創建了一個WCF服務應用程序,我的JQuery版本是1.5.1。這裏有一個預感:重命名網站和contentType名稱。 – LostInComputer