// 手写jsonp
function myCallback(data) {
console.log(data)
}
function jsonp(url, data, callback) {
// data是否是字符串,是的话证明data值就是函数名
if (typeof data == 'string') {
callback = data
data = {}
}
// 拼接data
url += url.indexOf('?') === -1 ? '?' : '&'
url += 'callback=' + callback
var params = ""
for (var i in data) {
params += '&' + i + '=' + data[i]
}
url += params
// 在页面插入script标签
var script = document.createElement('script')
script.setAttribute('src', url)
document.querySelector('head').appendChild(script)
}
jsonp('http://baidu.com/index.html', { id: 34 }, 'myCallback')
jsonp('http://baidu.com/index.html?name="zjn"', { id: 34 }, 'myCallback')