跨域

  • ajax// 浏览器不允许XMLHttpRequest对象跨域
  • jsonp原理
  • 原理:动态的创建script标签,设置src属性,得到js代码,在得到的js代码中包含着我们的数据
function jsonp() {
//1. 动态创建script标签,设置src属性
var script = document.createElement('script')
//script.src = ''
//1.1 拼接url中的参数
var queryString = '' //这个变量保存餐数据的字符串形式
for(var key in arg) {
queryString += key +'='+ arg[key] + '&'
}
//方法不能写死
//window.test = fn
var funName = 'fun_' + Math.random().toString().substr(3)
window[funName] = fn

url += '?' + queryString

//1.2 设置callback参数,创建方法

url += 'callback= ' + funName
script.src = url
//2. 把得到的script标签添加到dom上去
document.body.appendChild(script)
}
// 使用 url:'', arg:{}, callback
jsonp('http:127.0.0.1:3000/home.js', {page:1, count:10},function(data) {
console.log(data)
})

posted on 2016-11-06 00:48  山上的小兵  阅读(69)  评论(0)    收藏  举报

导航