本文解释如何使用Jquery中的ajax方法传递JSON数据包,传递的方法使用POST(当然PUT又有时也是一个不错的选择)。POST JSON数据包相比标准的POST格式可读性更好些,层次结构也更清晰。
为了说明问题,前端和后端较为简单,重点突出AJAX的应用。
【代码仓库】——
test-jquery-ajax
代码仓库位于bitbucket使用Hg(而不是Git),Hg在windows或ubuntu上均有很好用的GUI工具——TortoiseHg,本人愚笨没能熟练掌握Git。
TortoiseHg使用说明
】——如果没有使用过Hg请参考博文hg clone部分操作即可。
JQuery 中文API
】
url: 'add-post-json.php',
async: false, // 使用同步方式
// 1 需要使用JSON.stringify 否则格式为 a=2&b=3&now=14...
// 2 需要强制类型转换,否则格式为 {"a":"2","b":"3"}
data: JSON.stringify({
a: parseInt($('input[name="a"]').val()),
b: parseInt($('input[name="b"]').val()),
now: new Date().getTime() // 注意不要在此行增加逗号
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
$('#result').text(data.result);
} // 注意不要在此行增加逗号
a: parseInt($('input[name="a"]').val()),
b: parseInt($('input[name="b"]').val()),
now: new Date().getTime() // 注意不要在此行增加逗号
【HTTP请求部分内容】
POST /test-jquery-ajax/add-post-json.php HTTP/1.1
Host: 192.168.1.104
Content-Length: 27
X-Requested-With: XMLHttpRequest
Content-Type: application/json; charset=UTF-8
a=12&b=34&now=1403525989275
a: $('input[name="a"]').val(),
b: $('input[name="b"]').val(),
now: new Date().getTime() // 注意不要在此行增加逗号
【HTTP请求部分内容】
POST /test-jquery-ajax/add-post-json.php HTTP/1.1
Host: 192.168.1.104
Content-Length: 39
X-Requested-With: XMLHttpRequest
Content-Type: application/json; charset=UTF-8
{"a":
,"b":
,"now":1403526427890}
0.前言 本文解释如何使用Jquery中的ajax方法传递JSON数据包,传递的方法使用POST(当然PUT又有时也是一个不错的选择)。POST JSON数据包相比标准的POST格式可读性更好些,层次结构也更清晰。 为了说明问题,前端和后端较为简单,重点突出AJAX的应用。 【前端】——add-post-json.html图1 ad
HttpMediaTypeNotSupportedException: Content type ‘application/
json
;charset=UTF-8‘ not supported【已解决】
Asynchronous JavaScript And XML: 异步的JavaScript和XML
1、异步和同步:客户端和服务器通信的基础上
同步:客户端必须等服务器的响应,在等待的时间内不可以做其它的操作
异步:客户端不需要等待服务器的响应,在服务器处理请求的过程中可以干其它的事情
Ajax
是一种无需重新加载整个网页的情况下,能够更新部分网页的技术
通过与后台服务器少量数据交换,
Ajax
可以使网页实现异步更新,这意味着可以不在重新加载整
GET请求没什么好说的,
POST
请求可以form表单提交请求的,也有用
JSON
数据请求的,而
json
数据在springmvc中
使用
@RequestBody进行接收,
下面是用HttpServletRequest接收的办法:
JS中的
AJAX
是一种进行异步数据传输的技术,而
POST
则是向服务器发送请求的一种HTTP方法。
JSON
即JavaScript Object Notation,是一种轻量级的数据交换格式,常用于
前端
与服务器之间的数据传输。
在
前端
开发中,我们经常需要通过
AJAX
向服务器请求数据并将其展示在页面上,而
POST
则是向服务器提交表单数据或修改数据等操作。如果我们需要将
JSON
格式的数据传输到服务器,可以通过
AJAX
发送
POST
请求并将数据转换成
JSON
格式。
举个例子,如果我们需要向服务器提交一个表单,可以
使用
以下代码:
// 获取表单数据
var formData = new FormData(document.getElementById("myForm"));
// 将表单数据转换成
JSON
格式
var
json
Data = {};
formData.forEach(function(value, key){
json
Data[key] = value;
var
json
String =
JSON
.stringify(
json
Data);
// 发送
POST
请求
$.
ajax
({
type: "
POST
",
url: "http://example.com/api",
data:
json
String,
contentType: "application/
json
; charset=utf-8",
dataType: "
json
",
success: function(data){
// 处理服务器返回的数据
error: function(){
// 处理请求失败的情况
以上代码中,我们首先
使用
FormData对象获取表单数据,再将其转换成
JSON
格式的字符串。然后
使用
AJAX
发送
POST
请求,并将数据类型设置为
JSON
。最后在success回调函数中处理服务器返回的数据,或在error回调函数中处理请求失败的情况。
总之,JS
AJAX
POST
JSON
是
前端
开发中常用的一种技术,它可以实现异步数据传输和与服务器的交互,为实现动态网页的功能提供了重要的支持。