文档章节

通过Ajax post Json类型的数据到Controller

mac_zhao
 mac_zhao
发布于 2014/10/02 17:46
字数 359
阅读 24
收藏 0
点赞 0
评论 0

View

复制代码
 function postSimpleData() {
        $.ajax({
            type: "POST",
            url: "/Service/SimpleData",
            contentType: "application/json", //必须有 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'}"。

© 著作权归作者所有

共有 人打赏支持
mac_zhao
粉丝 40
博文 249
码字总数 304575
作品 0
普陀
程序员
springmvc获取axios数据为null情况

场景:前端用了vue没有用ajax与后台通信,用了axios,但是在代码运行过程中发现axios传递到后台的值接受到数据为null。 问题原因:此处的问题在与axios返回给后台的数据为json类型的,后台接...

王_子城 ⋅ 06/19 ⋅ 0

SpringMVC Json数据 转换成Object

WEB页面提交一个请求,想把一个Json数据传到controller里面。贴下大概代码 WEB页面Ajax请求 $.ajax({ url:"index/color/update.json", data:arr[0], type:"post", dataType:"json", content...

月沉海雾 ⋅ 2013/03/13 ⋅ 4

通过Ajax进行POST提交JSON类型的数据到SpringMVC Controller的方法

现在在做的项目用到了SpringMVC框架,需要从APP接收请求的JSON数据,为了测试方便,所以直接先用AJAX进行测试,不过刚开始用平时用的ajax方法,提交请求会出现415或者400错误,经过研究,终于...

zchuanzhao ⋅ 2015/10/10 ⋅ 4

论如何用JFinal搭建一个上手就能用的RESTful风格后台开发框架

JFinal,重新定义新国货。 目录 JFinal 概述 JFinal 特点 第一个JFinal项目 注意事项 <手动折叠> 一、JFinal概述 JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、...

Leaomato ⋅ 2016/12/02 ⋅ 0

JAVA学习笔记22——SpingMVC框架第二章

JAVA学习笔记22——SpingMVC框架第二章 Harries Blog™2017-12-210 阅读 ACESpringAppbeancatActionAjax 昨天讲解了 SpringMVC 的入门,今天来讲讲进阶一点的知识,话不多说,请看下文。 今天...

Harries Blog™ ⋅ 2017/12/21 ⋅ 0

shenzhanwang/Spring-REST

Spring-REST 如果说Web Service是一种特殊的RPC,那么REST Service又是一种特殊的Web Service,目前已成为分布式通信的重要手段。本项目基于Spring框架,完成REST风格的接口的发布(Server)与...

shenzhanwang ⋅ 2017/02/12 ⋅ 0

jQuery中$.get、$.post、$.getJSON和$.ajax的用法

1、$.get $.get()方法使用GET方式来进行异步请求,它的语法结构为: $.get( url [, data] [, callback] ) 解释一下这个函数的各个参数: url:string类型,ajax请求的地址。 data:可选参数,...

本杰明刘能 ⋅ 2016/11/03 ⋅ 0

Restful 经常会遇到的HTTP状态码

1、405 Method Not Allowed 请求方式错误,比如服务端约定PUT请求,结果客户端采用了GET; 我的项目中是这样的,访问的服务真实存在,但是用PUT,POST访问的url是不存在的,所以出现这样的问...

learn_more ⋅ 2016/05/06 ⋅ 0

《Pro ASP.NET MVC 3 Framework》学习笔记之三十二 【无入侵的Ajax】

Ajax是Asynchronous JavaScript and XML的缩写,正如我们看到的,XML部分已经不再像过去那样重要,但是异步的部分却让Ajax非常有用。它是一种在后台从服务端请求数据的模型,而不用重新加载网...

mszhangxuefei ⋅ 2012/06/01 ⋅ 0

Ajax与SpringMVC

Ajax:Asynchronous JavaScript and XML 异步的JavaScript和XML技术 Ajax应用:侧重与局部刷新/局部交互 XMLHttpRequest对象(内置在浏览器中,js对象) ---------------------------------------...

Romanceling ⋅ 2016/06/12 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

vuex学习

1、getters基本用法: 在store.js里面用const声明我们的getters属性。 const getters={ count:function (state) { return state.count +=100; }} export default new Vuex.S......

大美琴 ⋅ 32分钟前 ⋅ 0

292. Nim Game - LeetCode

Question 292. Nim Game Solution 思路:试着列举一下,就能发现一个n只要不是4的倍数,就能赢。 n 是否能赢1 true2 true3 true4 false 不论删除几,对方都能一把赢5 t...

yysue ⋅ 44分钟前 ⋅ 0

G6 关系数据可视化图形库 简单使用

官网 https://antv.alipay.com/zh-cn/g6/1.x/index.html 效果 首先生成给定数目的小球,并设置随机的颜色 按照顺序,设置小球的角度以及坐标 设置定时器,每隔一定的时间修改小球的角度和坐标...

阿豪boy ⋅ 47分钟前 ⋅ 0

6.5 zip压缩工具 6.6 tar打包 6.7 打包并压缩

zip压缩工具 zip命令可以压缩目录和文件,-r 压缩目录。 zip使用方法 zip 1.txt.zip 1.txt //压缩文件 zip -r 123.zip 123/ //压缩目录 unzip 1.txt.zip //解压 unzip 123.zip -d /root/456...

Linux_老吴 ⋅ 55分钟前 ⋅ 0

react-loadable使用跳坑

官方给react-loadable的定义是: A higher order component for loading components with dynamic imports. 动态路由示例 withLoadable.js import React from 'react'import Loadable fro......

pengqinmm ⋅ 今天 ⋅ 0

记录工作中遇到的坑

1、ios safari浏览器向下滚动会触发window resize事件

端木遗风 ⋅ 今天 ⋅ 0

桥接设计模式

1、概述: 将抽象部分与他的实现部分分离,这样抽象化与实现化解耦,使他们可以独立的变化 如何实现解耦的呢,就是通过提供抽象化和实现化之间的桥接结构 桥接模式将继承模式转化成关联关系,他降...

职业搬砖20年 ⋅ 今天 ⋅ 0

20.zip压缩 tar打包 打包并压缩

6月25日任务 6.5 zip压缩工具 6.6 tar打包 6.7 打包并压缩 6.5 zip压缩工具: zip支持压缩目录 zip压缩完之后原来的文件不删除 不同的文件内容其实压缩的效果不一样 文件内有很多重复的用xz压...

王鑫linux ⋅ 今天 ⋅ 0

double类型数据保留四位小数的另一种思路

来源:透析公式处理,有时候数据有很长的小数位,有的时候由在四位以内,如果用一般的处理方法,那么不足四位的小树会补充0到第四位,这样子有点画蛇添足的感觉,不太好看。所以要根据小数的...

young_chen ⋅ 今天 ⋅ 0

Django配置163邮箱出现 authentication failed(535)错误解决方法

最近用Django写某网站,当配置163邮箱设置完成后,出现535错误即:smtplib.SMTPAuthenticationError: (535, b'Error: authentication failed') Django初始配置邮箱设置 EMAIL_HOST = "smtp.1...

陈墨轩_CJX ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部