可以以JSON格式提交表单数据,而不使用AJAX?
我尝试更改enctype:
<form enctype="application/json"></form>
但这不符合on w3schools的有效价值
我想要这个行为的原因是所请求的URL将返回一个文件,我显然不能做任何事情,如果我使用AJAX.我想发送标记为Content-Type:application / json的JSON数据,以便ASP.NET MVC将使用其JSON绑定.
解决方法
是的,你可以像插件一样的对象序列化表单.我为你写了一个样本;
//头
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <script src="jquery.serialize-object.js"></script>
//形成
<form id="frm"> <input type="text" name="Model[Firstname]"> <input type="text" name="Model[Lastname]"> <input type="text" name="ModelDetail[PhoneNumber]"> ... <button type="button" onclick="sendForm()">Send</button> </form>
// JS
function sendForm(){ model_data = $("#frm").serializeObject(); $.ajax({ url: 'YOUR_SERVICE_URL',type: 'POST',contentType: 'application/json',data: JSON.stringify(model_data),dataType: 'json',success:function(e){ // I know,you do not want Ajax,if you callback to page,you can refresh page here } });
祝你好运!