是否有可能在没有jQuery的情况下将json发布到mvc控制器?

时间:2016-11-30 19:45:58

标签: asp.net-mvc

我想将几个输入值作为json字符串发布到控制器,只有一个方法参数,例如:

<input name="x" value="">
<input name="y" value="">

public void GetAsJson(string json)
{

}

这样做没有jQuery和默认的模型绑定?

1 个答案:

答案 0 :(得分:0)

在没有任何Javascript的情况下执行你所说的是不可能的。使用JSON,JS代表Javascript,无论如何都需要Javascript来执行Ajax调用。

我会这样做。

请记住,在C#方面你并不真正接受JSON对象,实际上你只是接受一个列表。

这是你想要的帖子。它几乎是一个像你建议的字符串,但不同之处在于,在你的AJAX调用中,你需要指定JSON.stringify和dataType:json。

public ActionResult FruitPost(List<String> Fruit)
    {
        return null;
    }

以下是观点:

<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script>
    function submitForm() {
        var fruit = ["apple", "orange", "bananna"];

        jQuery.ajax({
            type: "POST",
            url: "@Url.Action("FruitPost")",
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            data: JSON.stringify(fruit),
            success: function (data) { alert(data); },
            failure: function (errMsg) {
                alert(errMsg);
            }
        });
    }
</script>

<input type="button" value="Click" onclick="submitForm()"/>

如果你在没有JQuery的情况下进行ajax调用时是DEAD SET ...我建议你阅读:https://www.sitepoint.com/guide-vanilla-ajax-without-jquery/
这样做之后,你可能会改变主意。