通过Ajax post Json类型的数据到Controller
来源:互联网 发布:淘宝达人淘在哪里看 编辑:程序博客网 时间:2024/05/16 02:22
View
function postSimpleData() { $.ajax({ type: "POST", url: "/Service/SimpleData", contentType: "application/json", //必须有
async: false,// 是否同步 dataType: "json", //表示返回值类型,不必须 data: JSON.stringify({ 'foo': 'foovalue', 'bar': 'barvalue' }), //相当于 //data: "{'str1':'foovalue', 'str2':'barvalue'}", success: function (jsonResult) { alert(jsonResult); } }); } function postListString() { $.ajax({ type: "POST", url: "/Service/ListString", contentType: "application/json", dataType: "json", data: JSON.stringify({ "BuIds": ["1", "2", "3"] }), success: function (jsonResult) { alert(jsonResult); } }); } function postEmployees() { $.ajax({ type: "POST", url: "/Service/Employees", contentType: "application/json", dataType: "json", data: JSON.stringify({ "Employees": [ { "firstName": "Bill", "lastName": "Gates" }, { "firstName": "George", "lastName": "Bush" }, { "firstName": "Thomas", "lastName": "Carter" } ] }), success: function (jsonResult) { alert(jsonResult); } }); }
Controller
[HttpPost] public ActionResult SimpleData(string foo, string bar) { return Json("SimpleData", JsonRequestBehavior.AllowGet); } [HttpPost] public ActionResult ListString(List<string> buIds) { return Json("ListString", JsonRequestBehavior.AllowGet); } [HttpPost] public ActionResult Employees(List<Employee> Employees) { return Json("Employees", JsonRequestBehavior.AllowGet); }
public class Employee { public string FirstName { get; set; } public string LastName { get; set; } }
结果
值得注意的有2点:
1)Ajax 选项中
contentType: "application/json"
这一条必须写,表明request的数据类型是json。
而
dataType: "json"
这一条表示返回值的类型,不必须,且依据返回值类型而定。
2)选项中
data: JSON.stringify({ 'foo': 'foovalue', 'bar': 'barvalue' })
很多时候我们将数据写作:
{ 'foo': 'foovalue', 'bar': 'barvalue' }
这样会导致错误,因为js会默认将这个json对象放到表单数据中,故而导致controller接收不到。
有两种办法处理:第一种方式是用JSON.stringify()函数,其中JSON被Ecmascript5定义为全局对象。有关该函数的用法,见此处。
第二种方式是直接用双引号包裹起来,比如data: "{'str1':'foovalue', 'str2':'barvalue'}"。
阅读全文
0 0
- 通过Ajax post Json类型的数据到Controller
- 通过Ajax post Json类型的数据到Controller
- 通过Ajax post Json类型的数据到Controller
- 通过Ajax post Json类型的数据到Controller
- 通过Ajax进行POST提交JSON类型的数据到SpringMVC Controller的方法
- ajax发送json数据到springmvc的controller
- 通过Ajax进行Post提交Json数据
- java 读取 ajax post 到后台的Json数据
- Ajax前台返回JSON数据后再Controller中直接转换成类型使用,后台接收json转成实体的方法
- MVC3/4项目开发中遇到的ajax提交Json数据到后台Controller处理(接收参数:多重JSON)
- 使用jquery ajax post json数据到jersey resource
- Ajax方式传json到controller的几种形式
- AJAX如何以POST的方式提交JSON数据到Form
- Ajax POSt数据到PHP的方法
- 通过Ajax技术,将数组类型数据转换为JSON格式的对象
- 用原生的AJax代码发送JSON数据到Action使其自动类型转化
- 后台Controller无法接受到post请求json串
- asp.net 使用ajax请求地址接口数据 ajax返回类型是json js get post请求数据
- java导出多个excel并打成zip包
- 人脸关键点:MTCNN-Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks
- 链表的格式与操作示例
- java 自学之路–视频(源码)下载
- 广域无线平台实现新一代物联网系统
- 通过Ajax post Json类型的数据到Controller
- 关于ftp的主动模式(Active Mode)和被动模式(Passive Mode)
- js操作日期工具
- 4、进制转换
- Java基础进阶知识点
- Java正确创建线程池方式
- svn同步时指定某些文件不显示
- laravel 学习记录
- 音频开发——录音与播放、音量调节