您的位置:首页 > Web前端 > JQuery

jquery通过ajax方式获取json数据和解析

2017-07-28 17:50 801 查看
一.jquery获取json数据:

 
Jquery发送ajax请求的语法:
$.ajax({name:value, name:value, ... })
该参数规定 AJAX 请求的一个或多个名称/值对。
下面是可能的名称/值:
async

布尔值,表示请求是否异步处理。默认是 true。

beforeSend(xhr)

发送请求前运行的函数。

cache

布尔值,表示浏览器是否缓存被请求页面。默认是 true。

complete(xhr,status)

请求完成时运行的函数(在请求成功或失败之后均调用,即在 success 和 error 函数之后)。

contentType

发送数据到服务器时所使用的内容类型。默认是:"application/x-www-form-urlencoded"。

context

为所有 AJAX 相关的回调函数规定 "this" 值。

data

规定要发送到服务器的数据。

dataFilter(data,type)

用于处理 XMLHttpRequest 原始响应数据的函数。

dataType

预期的服务器响应的数据类型。

error(xhr,status,error)

如果请求失败要运行的函数。

global

布尔值,规定是否为请求触发全局 AJAX 事件处理程序。默认是 true。

ifModified

布尔值,规定是否仅在最后一次请求以来响应发生改变时才请求成功。默认是 false。

jsonp

在一个 jsonp 中重写回调函数的字符串。

jsonpCallback

在一个 jsonp 中规定回调函数的名称。

password

规定在 HTTP 访问认证请求中使用的密码。

processData

布尔值,规定通过请求发送的数据是否转换为查询字符串。默认是 true。

scriptCharset

规定请求的字符集。

success(result,status,xhr)

当请求成功时运行的函数。

timeout

设置本地的请求超时时间(以毫秒计)。

traditional

布尔值,规定是否使用参数序列化的传统样式。

type

规定请求的类型(GET 或 POST)。

url

规定发送请求的 URL。默认是当前页面。

username

规定在 HTTP 访问认证请求中使用的用户名。

xhr

用于创建 XMLHttpRequest 对象的函数。

 
 
下面是我自己写的一个实例:
 
url返回的json数据如下:

[{"id":1,"title":"耳温枪","start":"2017-08-05  05:00:00","end":"2017-07-28 17:00:00","allDay":0,"color":"#360","date":"2017:7:27"}]

 

 ajax请求与解析如下:

$.ajax({
url : '${basePath}/calendar/getdata.action?date='
+ date.getFullYear() + ':' + (date.getMonth() + 1)
+ ':' + date.getDate(),
success : function(json) {
$.each(json, function(i, item) {
//循环获取数据
var Id = item.id;
var title = item.title;
var start = item.start;
var end = item.end;
$("#ul").append(
"<li class='list-group-item'> <h5 class='list-group-item-heading'>"
+ title
+ "</h5> <p class='list-group-item-text'>"
+ end
+ "</p></li>");

});

}
});


二.当然不同的json返回的数据解析方式也不一样:

 

大概有以下几种:

1.json数据 :{"id":1,"title":"耳温枪","start":"2017-08-05  05:00:00","end":"2017-07-28 17:00:00","allDay":0,"color":"#360","date":"2017:7:27"}

解析方法:

该json本身就是一个json对象,所以可以直接获取:

var Id = json.id;

var title = json.title;

var start = json.start;

var end = json.end;

 

 

2.json数据:[{"id":1,"title":"耳温枪","start":"2017-08-05  05:00:00","end":"2017-07-28 17:00:00","allDay":0,"color":"#360","date":"2017:7:27"}]

 

解析方法:

$.each(json, function(i, item) {

//循环获取数据    

var Id = item.id;

var title = item.title;

var start = item.start;

var end = item.end;

});

 

3. json 数据:

{"first":[{"id":1,"title":"耳温枪","start":"2017-08-05  05:00:00","end":"2017-07-28 17:00:00","allDay":0,"color":"#360","date":"2017:7:27"}]}
解析方法:
$.each(json.first, function(i, item) {

//循环获取数据    

var Id = item.id;

var title = item.title;

var start = item.start;

var end = item.end;

});

 以上是我所碰到的一些情况,当然具体情况还是要具体对待的。
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐