ASP.NET MVC-如何将Javascript变量从视图传递到控制器

时间:2018-08-30 07:03:25

标签: javascript asp.net-mvc

我在javascript函数中有一个变量,需要发送给控制器。这是javascript函数中的代码。

var testString = "Test";

        $.ajax({
        type: "POST",
        url: "@Url.Action("GetJavaScriptString")",
            dataType: "json",
            data: JSON.stringify(testString),
        success: function (data) {
            alert(data);
        },
        failure: function (errMsg) {
            alert(errMsg);
        }
        });

这是控制器方法

    public ActionResult GetJavaScriptString(string data)
    {

        return null;
    }

GetJavaScriptString方法中的变量“ data”保持为空。

1 个答案:

答案 0 :(得分:1)

当名称与参数名称匹配时,您需要发送一个名称/值对

var testString = "Test";
$.ajax({
    type: "POST",
    url: "@Url.Action("GetJavaScriptString")",
    dataType: "json",
    data: { data: testString }, // change this 
    success: function (data) {
        alert(data);
    },
    failure: function (errMsg) {
        alert(errMsg);
    }
});

请注意,您不需要JSON.stringify(),但是如果这样做的话,您将需要data: JSON.stringify({ data: testString }),,并且需要使用contentType: 'application/json',选项