asp.net-mvc – 将表单提交为JSON(无AJAX)

可以以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>

你可以从here下载插件

//形成

<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
   }
});

祝你好运!

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....