AJAX是一种实现异步通信的技术,能够无需刷新页面即可向服务器发送请求并获得响应。而请求参数的格式有很多,其中JSON是一种非常流行的格式。JSON是一种轻量级的数据交换格式,其数据格式紧凑,易于阅读和编写。
var xhr = new XMLHttpRequest(); xhr.open('GET','data.json'); xhr.onload = function() { if (xhr.status === 200) { var response = JSON.parse(xhr.responseText); console.log(response); } else { console.error(xhr.statusText); } }; xhr.send();
以上代码展示了如何使用AJAX请求JSON格式的数据。首先通过XMLHttpRequest对象创建一个请求,其参数包含请求的URL和请求方式。然后使用onload事件监听请求的结果,当状态码为200时,代表请求成功,此时可以通过JSON.parse()方法将返回的JSON字符串解析为JavaScript对象,并进行后续的操作。如果请求失败,则在控制台输出错误信息。
需要注意的是,如果JSON数据来自不同的域名,则需要使用JSONP(JSON with Padding)技术进行请求。JSONP利用script标签具有可以跨域的特性,通过调用一个指定的回调函数,将JSON数据返回给客户端。下面是一个JSONP请求的示例:
function handleResponse(response) { console.log(response) } var script = document.createElement('script'); script.src = 'http://domain.com/data.json?callback=handleResponse'; document.body.appendChild(script);
以上代码中,handleResponse()函数为回调函数,当请求成功时会调用该函数并将JSON数据作为参数传递给它。script标签的src属性指定了请求的文件路径和回调函数名称,由于回调函数是在全局作用域中定义的,因此可以在任何位置调用。