js jquery中的$.ajax中的data属性需要用json格式向后台发送数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js jquery中的$.ajax中的data属性需要用json格式向后台发送数据相关的知识,希望对你有一定的参考价值。

js jquery中的$.ajax中的data属性需要用json格式向后台发送数据那么是下面那种呢
比方说穿username和pwd
data:uname:"tom",pwd:123
data:'"uname":"tom","pwd":123'

最好是使用第一种,然后后台用2个属性接收,或者用对象接收都可以。
第二种一般是后台用字符串接收,比如前端传值是data:str='"uname":"tom","pwd":123'
那么后端就用str的String类型接收就可以了!

另外推荐一个JSON工具给您。

JSON在线解析:http://www.sojson.com/
参考技术A data:uname:"tom",pwd:123 是正确的追问

我写的第一种是json对象格式,第二种是json字符串格式吧?

追答

是的 第二种是json字符串格式 但是data 需要的是json 对象

追问

是不是也可以JSON.parse转一下,就是麻烦了,

追答

只要是json 对象就可以的 不管用什么方法

参考技术B data:uname:"tom",pwd:123

js自定data-*和jquery的data()用法

一、data-* :

data-*是HTML5中的新属性。

 

data-*的定义和用法:

  data-* 属性用于存储页面或应用程序的私有自定义数据。

  data-* 属性赋予我们在所有 HTML 元素上嵌入自定义 data 属性的能力。

  存储的(自定义)数据能够被页面的 JavaScript 中利用,以创建更好的用户体验(不进行 Ajax 调用或服务器端数据库查询)。

  data-* 属性包括两部分:

    属性名不应该包含任何大写字母,并且在前缀 "data-" 之后必须有至少一个字符

    属性值可以是任意字符串

  注释:用户代理会完全忽略前缀为 "data-" 的自定义属性。

 

为什么用data-*属性:

人们总喜欢往HTML标签上添加自定义属性来存储和操作数据。但这样做的问题是,你不知道将来会不会有其它脚本把你的自定义属性给重置掉,此外,你这样做也会导致html语法上不符合Html规范,以及一些其它副作用。这就是为什么在HTML5规范里增加了一个自定义data属性,你可以拿它做很多有用的事情。 你可以去读一下HTML5的详细规范,但这个自定义data属性的用法非常的简单,就是你可以往HTML标签上添加任意以 "data-"开头的属性,这些属性页面上是不显示的,它不会影响到你的页面布局和风格,但它却是可读可写的。

 

二、data() :

<div id="awesome" data-myid="3e4ae6c4e">Some awesome data</div>

可以遍历页面元素来读取你想要的属性,但jquery已经内置了方法来操作这些属性。使用jQuery的.data()方法来访问这些"data-*" 属性。其中一个方法就是 .data(obj),这个方法是在 jQuery1.4.3版本后出现的,它能返回相应的data属性。

var myid= $("#awesome").data(‘myid‘); 
console.log(myid); 

 

还可以在"data-*" 属性里使用json语法:

<div id="awesome-json" data-awesome=‘{"game":"on"}‘></div> 

可以通过js直接访问这个数据,通过json的key值,你能得到相应的value

var gameStatus= jQuery("$awesome-json").data(‘awesome‘).game; console.log(gameStatus); 

也可以通过.data(key,value)方法直接给"data-*" 属性赋值。一个重要的你要注意的事情是,这些"data-*" 属性应该和它所在的元素有一定的关联,不要把它当成存放任意东西的存储工具。

 

尽管"data-*" 是HTML5才出现的属性,但jquery是通用的,所以,在非HTML5的页面或浏览器里,你仍然可以使用.data(obj)方法来操作"data-*" 数据。

以上是关于js jquery中的$.ajax中的data属性需要用json格式向后台发送数据的主要内容,如果未能解决你的问题,请参考以下文章

分析一下jquery中的ajax操作

jquery(ajax)中的JS变量附加html标签

前端Ajax/JS/HTML+后端SpringMVC

求教大神,js或者jquery中如何把对象转成数值

JQuery中的Ajax

jquery里ajax中怎么将函数中的数据提取出来,放在另外一个其他函数中使用?