這裏的時候,我得到一個404我的Ajax調用發出一個Ajax調用
$.ajax({
async: false,
url: "/api/clients/UpdateResourceContactProductsByResourceContactId/" + id,
type: 'POST',
data: { strIds: strIds },
success: function (data) {
}
});
其中id是整數,strIds是整數的字符串contantenation,它們看起來像123_254_741_6650 ...
而這個服務器端代碼......
[HttpPost]
public IHttpActionResult UpdateResourceContactProductsByResourceContactId
(int id, string strIds)
{
//...
}
當我打的更新按鈕,我收到以下錯誤:
{"Message":"No HTTP resource was found that matches the request URI
'http://localhost/api/clients/UpdateResourceContactProductsByResourceContactId/22757'.",
"MessageDetail":"No action was found on the controller 'Clients' that matches the request."}
我錯過了什麼嗎?
您是否嘗試過的URL: 「/ API /客戶/ UpdateResourceContactProductsByResourceContactId ID =」 +編號+ 「&strIds =」 + strIds, – artm 2014-09-24 19:28:26
作爲@artm說 - 你可以直接導航到'HTTP://本地主機/ API /客戶/ UpdateResourceContactProductsByResourceContactId/22757'?如果你真的得到了'404',那麼Ajax本身不是責任。 – admdrew 2014-09-24 19:29:22
嗯,我可以告訴你,它不是一個字符串被傳遞給你的控制器,這是肯定的,因爲你發送它作爲'POST'的一部分。路由器不會將'strIds'解析爲URL的參數,因爲它是通過'HTTP BODY'而不是'URL'傳遞的。就像@artm說的那樣,將strIds聲明移到URL concocuation中。 – Ohgodwhy 2014-09-24 19:29:56