Pichratanak Ky
Pichratanak Ky

Reputation: 11

How to parse json from a url

I have a url contain all the json format.

http://api.musixmatch.com/ws/1.1/track.lyrics.get?apikey=d34fb59a16877bd1c540aa472491825b&track_id=12414632

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

this code keep saying null all the time. Are there any way that i can retrieved those json text

Upvotes: 1

Views: 540

Answers (2)

kvc
kvc

Reputation: 1137

Correct usage is as follows.You can check this link http://jsfiddle.net/UH4KY/1/ The link will alert undefined since cross domain scripting is not allowed .You can set the Access-Control-Allow-Origin and test the code. function readXML(req) { alert(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);
}

Upvotes: 1

Yuval Adam
Yuval Adam

Reputation: 165232

The problem is with req.onreadystatechange = readXML();. You're assigning the result of the function instead of the function itself (as a callback).

You want req.onreadystatechange = readXML;. Though I must say I'm not sure how this code is supposed to work. Not in terms of how the XHR is made, nor with regards to the external domain.

Upvotes: 2

Related Questions