c# – 如何使用ajax调用传递formcollection操作?

前端之家收集整理的这篇文章主要介绍了c# – 如何使用ajax调用传递formcollection操作?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图用ajax调用替换表单submit.行动需要formcollection,我不想创建一个新的模型.所以我需要传递整个表单(就像表单提交),但是通过ajax调用.
我试图序列化和使用Json,但是formcollection是空的.
这是我的动作签名:
public ActionResult CompleteRegisteration(FormCollection formCollection)

这里是我的提交按钮点击:

var form = $("#onlineform").serialize();              
            $.ajax({
                url: "/Register/CompleteRegisteration",datatype: 'json',data: JSON.stringify(form),contentType: "application/json; charset=utf-8",success: function (data) {
                    if (data.result == "Error") {
                        alert(data.message);
                    }
                }
            });

现在如何将数据传递到formcollection?

解决方法

由于FormCollection是一些键值对,因此JSON是其表示形式的不当数据格式.你应该使用序列化的字符串:
var form = $("#onlineform").serialize();
$.ajax({
    type: 'POST',url: "/Register/CompleteRegisteration",data: form,dataType: 'json',success: function (data) {
        if (data.result == "Error") {
            alert(data.message);
        }
    }
});

主要变化:

>请求的类型设置为POST(这里不需要,但似乎更自然)>序列化表单而不是JSON字符串作为请求数据> contentType已删除 – 我们不再发送JSON了

猜你在找的C#相关文章