Ajax跨域访问-搜索框制作(http://www.imooc.com/learn/21)

Ajax跨域访问-搜索框制作(http://www.imooc.com/learn/21)

1. 跨域解决办法:加了这个网址(http://cors.itxti.net/?)

2.list 中没有获取到内容???

list.innerHTML=html;

3. 控制台报错

http://img.mukewang.com/579714ea0001ce7310840597.jpg

// Ajax
var addAjax=function (method,_url,callBack) {
    var xhr=null;
    if (window.XMLHttpRequest) {
        xhr=new XMLHttpRequest();
    }
    else {
        xhr=new ActiveXObject("Msxml2.XMLHTTP");
    }

    addHandler(xhr,'readystatechange',function () {
        if (xhr.readyState==4 && xhr.status==200) {
            callBack(JSON.parse(xhr.responseText));
            //console.log(xhr.responseText);
        }
    });
    xhr.open(method,_url,true); // true 为 异步
    xhr.send(null); // send(string)
};
// 触发键盘事件
addHandler(search,'keyup',function () {
    var txt=search.value;
    var html="";
    var url='api.bing.com/qsonhs.aspx?q=';
    var cors='http://cors.itxti.net/?';

    console.log(cors+url+txt);
    addAjax('get',cors+url+txt,function (d) {
        var d=d.AS.Results[0].Suggests;
        for (var i=0,len=d.length;i<len;i++) {
            html+="<li>"+d[i].Txt+"</li>";
        }
        list.innerHTML=html;
    });
});


微积分2016
浏览 1711回答 1
1回答

慕粉3163795

原生的跨域是通过script标签,跟ajax是没有关系的。现在jQuery等一些库对ajax进行了封装,用jsonp可以实现跨域。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript