我在我的Windows Server WCF服務上發佈的IIS 7.5問題與POST調用WCF服務 - 400錯誤的請求
它有兩種基本方法,只是冒煙測試。
這裏的ServiceContract:
[ServiceContract]
public interface IFSMServiceWeb
{
[OperationContract]
[WebInvoke(Method="POST", ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Wrapped, RequestFormat = WebMessageFormat.Json)]
string registraUtenteViaMail(string username, string password, string key, string dbVersion);
[OperationContract]
[WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Wrapped)]
string loginUtenteViaMail(string username, string password, string key, string dbVersion);
}
,並在這裏實現:
public class FSMServiceWeb : IFSMServiceWeb
{
public string registraUtenteViaMail(string username, string password, string key, string dbVersion)
{
return username + password + key + dbVersion;
}
public string loginUtenteViaMail(string username, string password, string key, string dbVersion)
{
return username + password + key + dbVersion;
}
}
我沒有問題,打電話與GET,方法調用loginUtenteViaMail,但我不能把與POST方法方法registraUtenteViaMail。
這裏的JavaScript代碼來測試POST方法
$(document).ready(function(){
$("#send").click(function(){
var username = $("#username").val();
var password = $("#password").val();
var key = $("#key").val();
var dbVersion = $("#dbVersion").val();
var dati = {username : username, password : password, key : key, dbVersion : dbVersion};
$.ajax({
type: 'POST',
url: '/FSMServiceWeb.svc/registraUtenteViaMail',
data: JSON.stringify(dati),
success: function (data) {
console.log(data);},
error: function (data){},
dataType: 'JSON'
});
});
});
我得到這個錯誤(Chrome的控制檯):
POST http://xxx.xxx.xxx.xxx/FSMServiceWeb.svc/registraUtenteViaMail 400 (Bad Request) jquery.min.js:4
l.cors.a.crossDomain.send jquery.min.js:4
o.extend.ajax POSTtest.js:12
(anonymous function) jquery.min.js:3
o.event.dispatch jquery.min.js:3
r.handle jquery.min.js:3
我在哪裏錯了?
謝謝您提前
能否請您發表JSON.stringify(DATI)的輸出? – 2015-01-20 20:22:24
console.log(JSON.stringify(dati)); 返回此結果: {「username」:「name」,「password」:「secret」,「key」:「1234」,「dbVersion」:「1.0」} – dar0x 2015-01-20 20:38:57