Muszę wykonać żądanie HTTP GET w JavaScript. Jaki jest najlepszy sposób, aby to zrobić?
Muszę to zrobić w widżecie dashcode w systemie Mac OS X.
Tutaj jest kod, aby zrobić to bezpośrednio z JavaScript. Ale, jak już wcześniej wspomniano, o wiele lepiej będzie użyć biblioteki JavaScript. Moją ulubioną jest jQuery.
W poniższym przypadku, strona ASPX (która'służy jako biedny człowiek'usługa REST) jest wywoływana w celu zwrócenia obiektu JavaScript JSON.
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;
}
}
}
Prototyp sprawia, że jest to bardzo proste.
new Ajax.Request( '/myurl', {
method: 'get',
parameters: { 'param1': 'value1'},
onSuccess: function(response){
alert(response.responseText);
},
onFailure: function(){
alert('ERROR');
}
});