jsonp 是前端一种用来解决网站跨域的技术,利用script标签不受同源策略影响的特性引入一个非同源的js文件,并定义一个回调函数来接收数据,这样就可以实现跨域获取数据了,例如:
现在有一个链接返回的数据是这样的:
cb({
"name": "swk",
"age": 18
})
这是一个标准的jsonp格式,它通过调用函数cb来传递数据,那么我们只需要定义一个函数cb来接收数据就可以了,例如:
function cb(data) {
console.log(data); //{ name: "swk", age: 18 }
}
那么我们只需要在页面中引入这个js文件就可以了,例如:
<script src="xxx.xxx?callback=cb"></script>
这样就可以实现跨域获取数据了,但是这种方式有一个缺点,就是只能通过get方式来传递数据,例如:
<script src="xxx.xxx?callback=cb&name=swk&age=18"></script>
这样就可以传递数据了,
除此之外,我们还可以使用jQuery中ajax的jsonp方式来传递数据,例如:文章来源:https://www.toymoban.com/news/detail-437212.html
$.ajax({
url: 'xxx.xxx',
dataType: 'jsonp',
jsonp: 'callback',
data: {
name: 'swk',
age: 18
},
success: function (data) {
console.log(data);
}
})
jsonp参数需要填写的是服务器返回的函数名的参数名,例如:我们传递的参数中callback=cb,那么这里就需要填写cb文章来源地址https://www.toymoban.com/news/detail-437212.html
到了这里,关于什么是jsonp的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!