我有一個非常簡單的JS-方法:控制器方法不叫
<script language="javascript">
function AmountChanged(callingTextbox) {
var enteredQuantity = callingTextbox.value;
$.getJSON("/Catalog/GetEnteredQuantity",
{
id: enteredQuantity
},
function (data) {
alert(data.MoneyText);
});
}
</script>
這「應該」在我的控制器調用一個函數:
public partial class CatalogController : BaseController {
[HttpPost]
public JsonResult GetEnteredQuantity(object id)
{
var result = new { MoneyText = "kost nix" };
return Json(result);
}
}
通過Chrome瀏覽器,我可以看到的是, JavaScript函數被調用。調試器逐步執行,直到線路$.getJSON("/Catalog/GetEnteredQuantity",
,然後跳轉到該JS函數的最後一個右括號。但GetEnteredQuantity() - 方法從不調用。
控制檯顯示一個"http://localhost:2451/Catalog/GetEnteredQuantity?id=48 404 Not Found"
這裏有什麼問題?
那是因爲你的AJAX調用生成取出HttpPost屬性的'GET Request'和控制器配置爲接受'POST requests',嘗試刪除'[HttpPost]'從您的控制器 – Drew 2013-04-29 09:51:12
謝謝。而已。如果你寫這個作爲答案,我會標記它:) – 2013-04-29 10:00:03