Ajax没有将数据发布到控制器

时间:2014-03-10 05:30:53

标签: c# jquery ajax

我通过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);
        }

4 个答案:

答案 0 :(得分:4)

试试这个:

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);
    }
});

答案 1 :(得分:0)

尝试以下方法:

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

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

或最佳解决方案是将值保存在对象中并使用jquery函数“stringify”,然后将值发送出去。应该工作。

答案 2 :(得分:0)

尝试将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);
    }
});

答案 3 :(得分:0)

您还可以在对象上使用JSON.stringify(yourObject)使其成为JSON对象。这样可以更轻松地在javascript中创建对象,然后将其传递到post请求的data参数中。 还可以使用字符串作为数据类型参数(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对象。