2013-05-02 68 views
0

不工作我已經創建了一個POST的WebAPI,我可以調用如下:的WebAPI的提琴手

<script type="text/javascript"> 

var TheData = { 
    Number: "7181112222", 
    Username: "myusername", 
    Password: "mypassword", 
    enable: "True", 
}; 

$.ajax({ 
    type: "POST", 
    cache: "False", 
    url: "http://www.######.com/someapi/api/SettingsConfig", 
    data: TheData 
}).done(function (msg) { 
    alert(msg); 
}).error(function (msg) { 
    alert('Fail'); 
}); 

</script> 

當我運行這段代碼我會得到「成功」的警報。

當我在提琴手中運行此代碼... yipes!

POST http://www.######.com/someapi/api/SettingsConfig 數= 6464482035 &用戶名= metheuser &密碼= 9999 &啓用=真

404錯誤

爲什麼inconsistancy!

回答

1

在JavaScript片段中,您發佈了JSON對象,而在提琴手示例中,它是一個x-www-form-urlencoded字符串。

您是否嘗試過包括Content-Type頭你的要求:

  • application/x-www-form-urlencoded和張貼字符串
  • application/json和張貼的JSON對象

什麼是您的控制器的方法簽名的樣子 - 你是否在第二個例子中使用了該方法,還是在此之前出錯?

404在這種情況下實際上意味着什麼 - '數字'未找到/發佈數據null?

0

有這樣的行爲可能有兩個原因:

  • 錯誤Content-Type這應該是application/json值集;
  • 未啓用CORS您的API(在這種情況下,您不允許從不受信任的域調用API);