可以以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
- }
- });
祝你好运!