Πρέπει να κάνω ένα αίτημα HTTP GET σε JavaScript. Ποιος είναι ο καλύτερος τρόπος για να το κάνω αυτό;
Πρέπει να το κάνω αυτό σε ένα widget dashcode του Mac OS X.
Εδώ είναι ο κώδικας για να το κάνετε απευθείας με JavaScript. Αλλά, όπως αναφέρθηκε προηγουμένως, θα ήταν πολύ καλύτερα με μια βιβλιοθήκη JavaScript. Η αγαπημένη μου είναι η jQuery.
Στην παρακάτω περίπτωση, μια σελίδα ASPX (που εξυπηρετεί ως υπηρεσία REST του φτωχού ανθρώπου) καλείται να επιστρέψει ένα αντικείμενο JSON της JavaScript.
var xmlHttp = null;
function GetCustomerInfo()
{
var CustomerNumber = document.getElementById( "TextBoxCustomerNumber" ).value;
var Url = "GetCustomerInfoAsJson.aspx?number=" + CustomerNumber;
xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = ProcessRequest;
xmlHttp.open( "GET", Url, true );
xmlHttp.send( null );
}
function ProcessRequest()
{
if ( xmlHttp.readyState == 4 && xmlHttp.status == 200 )
{
if ( xmlHttp.responseText == "Not found" )
{
document.getElementById( "TextBoxCustomerName" ).value = "Not found";
document.getElementById( "TextBoxCustomerAddress" ).value = "";
}
else
{
var info = eval ( "(" + xmlHttp.responseText + ")" );
// No parsing necessary with JSON!
document.getElementById( "TextBoxCustomerName" ).value = info.jsonData[ 0 ].cmname;
document.getElementById( "TextBoxCustomerAddress" ).value = info.jsonData[ 0 ].cmaddr1;
}
}
}
Το Πρωτότυπο το κάνει πολύ απλό
new Ajax.Request( '/myurl', {
method: 'get',
parameters: { 'param1': 'value1'},
onSuccess: function(response){
alert(response.responseText);
},
onFailure: function(){
alert('ERROR');
}
});