簡體   English   中英

Ajax不將數據發布到控制器

[英]Ajax not posting data to controller

我通過ajax將數據發布到操作,但是問題是我無法通過控制器操作中的ajax發布數據。 在調試時,該調用將轉移到操作中,但是我什至沒有得到任何數據,甚至沒有'null'。

這是我的ajax電話,

 $.ajax({
            type: 'POST',
            url:' @Url.Action("PostAmount", "Deal")',
            data: { country: 2, amount: 4.02 },
            datatype:JSON,

            success: function (data) {
                alert("hiiii"+data);
            }
        });

和我的行動

 [HttpPost]
        public JsonResult PostAmount(int country,double amount)
        {
            AllocationViewModel mod = new AllocationViewModel();
            return Json(mod);
        }

嘗試這個:

var dataToPost = "{ country:'" + 2 + "', amount:" + 4.02 + "}";

$.ajax({
    url: @Url.Action("PostAmount", "Deal")',
    type: "POST",
    dataType: 'json',
    data: dataToPost,
    cache: false,
    contentType: "application/jsonrequest; charset=utf-8",
    success: function (data) {
        alert("hi"+ data);
    }
});

嘗試以下方法:

$.ajax({
        type: 'POST',
        url:' @Url.Action("PostAmount", "Deal")',
        data: { "country": "2", "amount": "4.02" },
        datatype:JSON,

        success: function (data) {
            alert("hiiii"+data);
        }
    });

或最佳解決方案是將值保存在對象中,並使用jquery函數“ stringify”,然后將值發送過來。 那應該工作。

嘗試將json放在引號中

$.ajax({
    type: 'POST',
    url:'@Url.Action("PostAmount", "Deal")',
    data: { country: "2", amount: "4.02" },
    dataType:"json",
    traditional:true,
    success: function (data) {
        alert("hiiii"+data);
    }
});

您還可以在對象上使用JSON.stringify(yourObject)使其成為JSON對象。 這樣可以更輕松地在javascript中創建對象,然后將其傳遞到發布請求的data參數中。 也請使用字符串作為datatype參數( https://api.jquery.com/jquery.post/ ),如上面的答案所建議。

var dataToPost = { country: 2, amount: 4.02 };

$.ajax({
    type: 'POST',
    url:' @Url.Action("PostAmount", "Deal")',
    data: JSON.stringify(dataToPost),
    datatype: 'json',
    success: function (data) {
        alert("hiiii"+data);
    }
});

另一種方法是JSON.parse(yourJsonObject) 這樣,您可以將JSON字符串解析為Javascript對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM