我的网址包含所有json格式。
function load() {
dashcode.setupParts();
var link = 'http://api.musixmatch.com/ws/1.1/track.search?apikey=d34fb59a16877bd1c540aa472491825b&q_track=back%20to%20december&page_size=10';
req.open = ("GET", link, false);
req.onreadystatechange = readXML();
req.send(null);
}
function readXML(){
alert(req.responseText);
}
这段代码一直都在说null。 有什么方法可以检索那些json文本
答案 0 :(得分:2)
问题在于req.onreadystatechange = readXML();
。您正在分配函数的结果而不是函数本身(作为回调)。
你想要req.onreadystatechange = readXML;
。虽然我必须说我不确定这段代码应该如何工作。不是关于如何制作XHR,也不是关于外部域。
答案 1 :(得分:1)
正确用法如下。您可以检查此链接http://jsfiddle.net/UH4KY/1/由于不允许跨域脚本,链接将提示未定义。您可以设置Access-Control-Allow-Origin并测试代码。 function readXML(req){ 警报(REQ); }
function load() {
var xmlhttp;
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else { // code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
var link = 'http://api.musixmatch.com/ws/1.1/track.search?apikey=d34fb59a16877bd1c540aa472491825b&q_track=back%20to%20december&page_size=10';
//req.open = ("GET", link, false);
xmlhttp.onreadystatechange = function(){ alert(xmlhttp.responseText); }
xmlhttp.open("GET", link, false);
xmlhttp.send(null);
}