ASP.NET MVC 2:jQuery post string是null?

时间:2010-12-15 17:22:48

标签: asp.net-mvc-2 jquery

我不确定是什么问题,但我正在构建一个字符串并尝试将其传递给我的Controller Action。但是当执行操作时,数据为空。

JavaScript的:

var xml = "<Request><ZipCode>92612</ZipCode></Request>";

$.ajax({
    url: "/Home/GetXml",
    contentType: 'application/text; charset=utf-8',
    data: xml,
    success: function (result) { success(result); },
    type: "POST",
    datatype: "text"
});

控制器:

[HttpPost]
public ActionResult GetXml(string data)
{
    if (!String.IsNullOrEmpty(data))
    {    
        return View("Index", data);
    }

    return View("Index");
}

如果我在if上设置断点,则“data”为空。是什么给了什么?

2 个答案:

答案 0 :(得分:2)

答案:不要使用contentType

感谢这个问题和答案: Asp.Net Mvc JQuery ajax input parameters are null

答案 1 :(得分:1)

尝试

$.ajax({
    url: "/Home/GetXml",
    contentType: 'application/text; charset=utf-8',
    data: { data: xml },
    success: function (result) { success(result); },
    type: "POST",
    datatype: "text"
});