Żądanie HTTP GET w JavaScript?

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;
        }                    
    }
}
Komentarze (2)

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');
  }
});
Komentarze (2)

Ajax

Najlepiej byłoby, gdybyś użył biblioteki takiej jak Prototype lub jQuery.

Komentarze (0)