jsonp是一种数据请求方法。
jsonp的作用是实现无刷新的数据请求,类似于ajax。
jsonp能做而ajax不能做的是:jsonp可以做跨域请求。
为什么jsonp可以做到这些?页面元素能做到跨域的有iframe,img,script等带有src属性的元素,这些元素都能做跨域。
jsonp做跨域是利用script元素。
原理:
本地定义一个func,类似:
步骤一:
<script type="text/JavaScript">
localFunc(data)
{
//把data数据取出来
}
</script>
步骤二:
<script type="text/javascript" src="远程的一个js"></script>
这个远程js的内容类似于"localFunc({'名称1':'值1,'名称2':'值2'});",加载进来后他就跟本地的js没什么区别了,于是他就执行这个function。于是跨域取数据成功。