加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 06:15:14 所属栏目:百科 来源:网络整理
导读:我试图用ajax调用替换表单submit.行动需要formcollection,我不想创建一个新的模型.所以我需要传递整个表单(就像表单提交),但是通过ajax调用. 我试图序列化和使用Json,但是formcollection是空的. 这是我的动作签名: public ActionResult CompleteRegisterati
我试图用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了

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读