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了 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |