JSON和Ajax(二)——用AJAX获取本地JSON数据

一、AJAX简单整理

1.Ajax 是什么?

Ajax这种技术是指无需刷新页面即可从服务器取得数据。
Ajax的核心是XMLHttpRequest对象,简称XHR

2.XMLHttpRequest对象

如果要使用XHR对象很简单,只需要如下:

var xhr = new XMLHttpRequest();

但如果需要兼容,那就需要构建一个函数:

function creatXHR() {
    if(typeof XMLHttpRequest != 'undefined') {
        return new XMLHttpRequest();
    } else {
        return new ActiveXObject('Microsoft.XMLHTTP');
    }
}

var xhr = creatXHR();
3.XHR的用法

在使用XHR对象时,需要调用两个方法,一个open()方法,一个send()方法。
其中,open()接收3个参数,如下:

xhr.open('GET', 'json/data.json', false);

说明:

  • 第一个参数:启动一个针对data.json的GET请求;这个参数可以有GET/POST。
  • 第二个参数:URL(可以是绝对路径也可以是相对路径)
  • 第三个参数:false/true,是否异步

注意:
调用open()方法并不会真正的发送请求,它只是启动一个请求以备发送,完整的发送特定请求如下:

xhr.open('GET', 'json/data.json', false);
xhr.send();
4.XHR的属性

在收到响应后,响应的数据会自动填充XHR对象的属性,其属性如下:

  • responseText:作为响应主体被返回的文本。
  • responseXML:如果响应的内容类型是"text/xml"或"application/xml",这个属性中将保存包含着响应数据的XML DOM文档。
  • status: 响应的HTTP状态 [200 是成功,304是资源没有修改过]
  • statusText: HTTP状态的说明

二、用AJAX获取本地JSON数据


如果用Jq就更简单了:

$(function(){
   $.ajax({
       type:'GET',
       url: "./json/data.json",
       dataType: "json",
       success: function(data){
           var comentList = data.user;
           $.each(comentList, function(i,item) {
                var str = `
                    

id=${item.id},name=${item.name}

`; $('#outer').append(str); }); } }) })

你可能感兴趣的:(JSON和Ajax(二)——用AJAX获取本地JSON数据)