1

私は非常に単純な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"

ここで何が問題なのですか?

4

1 に答える 1

0

アクションから HttpPost 属性を削除します

public partial class CatalogController : BaseController {
    [HttpPost] //Remove it
    public JsonResult GetEnteredQuantity(object id)
    {
        var result = new { MoneyText = "kost nix" };
        return Json(result);
    }
}
于 2014-01-27T09:53:43.553 に答える