ajax中data写法(前端(jq)、数据库、node.js)
**~~**最近学习用jq完成数据库node.js之间传输数据,经常搞不清如何正确的去书写客户端(HTML页面)传输到后台(node.js)data属性正确的写法,就总结了一下。通常上在HTML页面上书写ajax时,会需要将页面上获得数据传输到后台处理,于是对于如何正确传输data数据就非常重要。主要是方法得当,其实有很多方法都可以。一、先了解一下ajax请求传递data数据的三种格式1.j...
**~~**最近学习用jq完成数据库node.js之间传输数据,经常搞不清如何正确的去书写客户端(HTML页面)传输到后台(node.js)data属性正确的写法,就总结了一下。
通常上在HTML页面上书写ajax时,会需要将页面上获得数据传输到后台处理,于是对于如何正确传输data数据就非常重要。主要是方法得当,其实有很多方法都可以。
一、先了解一下ajax请求传递data数据的三种格式
1.json对象格式(post和get):
{"loginpwd":”woxihuan“},
这种方式需要指定一下 datatype:“JSON”,
$.ajax({
type: "post",
url: "http://localhost:8080/toPwd",
data: {"loginpwd":"woxihuan"},
datatype:"JSON",// //指定响应的data数据类型为JSON对象。
success: function (data) ,//这个data是服务器端
//传输给客户端的,和这篇文章无关,这个data只是一个参数的名字
$("#msg").html(data.msg);
}
});
- dataType:“json”
用来指定服务器返回的data数据类型必须是JSON类型。然后jQuery就会把后端返回的json字符串尝试通过JSON.parse()解析为js对象。 - 如果不指定dataType,jQuery 将自动根据 HTTP 包的 MIME信息来智能判断,若MIME信息的值为JSON,则jQuery会自动的把data数据转换成JS对象的json,接着Script把data传递给回调函数进行JS的脚本操作。
2、标准参数模式(post和get):
data:'loginname=haer & loginpwd=520',
dataType:"json",
- $(“#login”).serialize() 就是把表单的数据拼成这个格式(key1 = value2&key2 =
value2)的字符串,然后放在Http请求体中传给后台。
3.json字符串(只用于post请求,这种方式不能用于 Get请求):
//对象转字符串方法
"{"loginpwd":”woxihuan“}“---JSON对象格式的字符串
JSON.stringify({"loginpwd":”woxihuan“},----把JSON对象转成JSON格式的字符串。
//主要添加即可,不用写datatype:"JSON"
contentType:"json/application"
不能使用get请求的原因:
1、因为此种方式发送的请求,后端必须得用@RequestBody进行接收,且接收的是Http请求体中的数据,Get请求没有请求体。
2、而且此方式的Ajax 必须要添加 contentType:”json/application”这个字段信息。
- GET请求,则会把data的数据 附加在 URL 后,
- POST请求,则就会把data的数据 放在请求体中。
- dataType:指定服务器端返回的数据类型。
- 若不指定,且后端返回的是Json,前端就会自动识别返回的数据是JSON。
以上参考文章:ajax请求传递data数据格式,部分为个人修改,侵权必删https://blog.csdn.net/qq_38737586/article/details/96578039
二、ajax属性传值方式主要写法总结:
1.:属性加引号的直接写法
data: {"loginpwd":loginpwd},
2.:属性不加加引号的直接写法
data: {loginpwd:loginpwd},
3.:拼接数据的写法,这种方法不需要加{}
data: 'loginpwd='+loginpwd+'&loginname='+loginname,
4.序列化方式,这种方法不需要加{}
data: $("#loginpwd").serialize(),//(一)中介绍过会转换成(二.3)的格式
5.组装数据,然后赋值给一个变量,在用JSON.stringify(obj)把obj->js对象转化为json字符串,或者直接写json字符串“{‘id’:’s01‘,’name‘:’001‘}”,等同于上面为json对象。
- JSON.stringify() 方法用于将 JavaScript 值转换为 JSON 字符串。
var pwd = [{id:s01,name:001}];//数组格式
$.ajax({
type: "post",
url: "http://localhost:8080/toPwd",
data: {
pwd: JSON.stringify(pwd)//转化为json字符串
},
contentType:"json/application",
success: function (datas) {
$("#msg").html(datas.msg);
}
});
6.上面是目前我遇到的是这几种情况,同时:
- JSON.parse()将json字符串转化为一个js对象,有需要是可以使用
以上参考来源ajax属性传值方式,侵权必删
https://www.cnblogs.com/tu-0718/p/8370925.html
大部分书写都尝试测验了,以及自我总结
有错请各位纠正!!
更多推荐
所有评论(0)