Ajax&jsonp初步
JSONP(JSON with Padding)是一种跨域请求数据的方式,可以让你在不同域的服务器上获取数据。JSONP请求不受浏览器同源政策的限制。
以下是一个简单的JSONP请求示例:
- 首先,你需要在服务器上设置一个能够接收JSONP请求的接口。假设你的服务器端代码(如Node.js)可以处理JSONP请求:
app.get('/api/data', function(req, res) {
var callback = req.query.callback;
var data = {
key: 'value'
};
res.send(callback + '(' + JSON.stringify(data) + ');');
});
- 然后,在前端页面上,你可以使用以下方式发送JSONP请求:
<script>
function jsonpCallback(data) {
// 处理从服务器返回的数据
console.log(data);
}
var script = document.createElement('script');
script.src = 'http://yourserver.com/api/data?callback=jsonpCallback';
document.head.appendChild(script);
</script>
在这个例子中,我们创建了一个script标签,并设置其src属性为我们的服务器地址加上一个查询参数callback,其值为将要处理服务器返回数据的函数名。服务器端会处理这个请求,并返回一个调用callback函数的字符串,传入的数据作为参数。
这就是JSONP的基本使用方式。需要注意的是,JSONP只支持GET请求,不支持POST等其他类型的HTTP请求。
评论已关闭