用JS怎么实现JSONP跨域请求啊?求代码和讲解
用JS怎么实现JSONP跨域请求啊?求代码和讲解
用JS怎么实现JSONP跨域请求啊?求代码和讲解
2016-08-17
原生JS实现JSONP:
addEvent('search-input-text', 'keyup', function() {
var searchText = getDOM("search-input-text").value;
//供jsonp服务的url地址(不管是什么类型的地址,最终生成的返回值都是一段javascript代码)
//其实参数都是前端和后台程序员规定的,前端传过去,后端判断获取即可。
var url = "http://api.bing.com/qsonhs.aspx?type=cb&cb=jsonpcallback&q=" + searchText;
var script = document.createElement('script');
script.setAttribute('src', url);
// 把script标签加入body,此时调用开始
document.getElementsByTagName('body')[0].appendChild(script);
getDOM('search-suggest').style.top = getElementTop(getDOM('search-form')) + 38 + 'px';
getDOM('search-suggest').style.left = getElementLeft(getDOM('search-form')) + 'px';
getDOM('search-suggest').style.position = 'absolute';
getDOM('search-suggest').style.display = 'block';
});
function jsonpcallback(data) {
var data = data.AS.Results[0].Suggests;
var html = "";
console.log(data);
var html = "";
for (var i=0;i<data.length;i++) {
html += "<li>" + data[i].Txt + "</li>"
}
getDOM('search-result').innerHTML = html;
};
举报