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)
})