如何通过ajax传递json数据?

时间:2013-11-25 22:51:34

标签: javascript ajax json

我正在开展视觉工作室2012 MVC计划。

我使用ajax将数据发送到控制器,并希望控制器返回一个html体。数据采用json格式。数据是字符串名称和十进制TotFees。

我发现控制器中公共ActionResult ImmPay(字符串名称)中的参数值始终为null。最后我尝试传递名称,但控制器端名称的值仍为null。

我的代码有什么问题,以及如何解决问题?谢谢。

View:
    function ImmPay()
    {
        var name = "ASP";
        var TotFees = 100.01;       

        //var dd = "{\'name\':\'" + name + "\', \'TotFees\':\'" + TotFees + "\'}"; 
        //var dd = "{\'name\':\'" + name + "\', \'TotFees\':\'" + TotFees + "m\'}";

        dd = "{\'b\':\'" + b + "\'}";
        dd = JSON.stringify(dd);
        $.ajax({
            url: '@Url.Action("ImmPay", "Consult")',
            type: 'GET',
            async: true,
            data: dd,
            contentType: 'application/json',
            context: document.body,
            success: function (response, textStatus, jqXHR) {
                $("#dialog-immpay").html(response);
                $("#dialog-immpay").dialog("open");
            },
            error: function (jqXHR, textStatus, errorThrown) {
                alert(textStatus);
            },
            complete: function () {
                ;
            }
        });

    }

Controller:
        public ActionResult ImmPay(string Name)
        {
        do something here
        }

1 个答案:

答案 0 :(得分:1)

JSON.stringify获取一个对象或数组并将其转换为JSON,这样您就可以将数据构建到一个对象中并按字母顺序对其进行字符串化

dd = JSON.stringify({b: b});