|  Ajax - jQuery funktioner
 
 
 jQuery indeholder godt 10 funktioner, der er dedikeret til hånteringen af ajax-funktionalitet. af disse kan der udføres egentlig ajax-funktionalitet med de 6 ($.ajax() og 'shorthand'), mens de øvrige er hjælpefunktioner. 
 Af de 6 er ajax() den væsentligste, mens funktionerne til hentning af data bruges i mindre omfang. 
 Alle funktioner placeres til udførelse indenfor rammerne af Ajax scriptet. Rækkefølgen er styrende for deres anvendelse / start. 
 
| $_ajax() interface | 
|---|
 |  | $.ajax() | Eget HTTP-request |  |  | $.ajaxPrefilter() | Lokale tilpasninger af globale opsætninger eller andre opsætninger til ajax(). |  |  | $.ajaxSetop() | Global opsætning til ajax() |  |  | $.ajaxTransport |  |  | Hent filer (shorthand) | 
|---|
 |  | $.get() | Indlæser remote side med HTTP GET request. |  |  | $.getJSON() | Indlæser JSON-fil med HTTP GET request. |  |  | $.getScript() | Indlæser og udfører javaScript-fil med HTTP GET request. |  |  | $.post() | Indlæser remote side med HTTP POST request. |  |  | load() | Indlæser HTML fra remote fil og indsætter den i DOM. |  | Serialisering: <FORM ..>-data | 
|---|
 |  | $.param() | Etablerer en seriel tekststreng ud fra enhver array eller objekt. Kan bruges i 'URL query string' i et ajax request. |  |  | serialize() | Etablerer en seriel tekststreng ud fra $_POST- og $_GET-data. |  |  | serializeArray() | Etablerer en seriel tekststreng og returnerer en JSON-fil ud fra $_POST- og $_GET-data. |  
 
 
| Low level interface | 
|---|
 | $.ajax()
 | Etablerer sit eget HTTP-request til et selvstændigt server-program uden at påvirke den 'aktuelle' HTTP-session. Den er nærmest synonyn med 'ajax'.
 | async, beforeSend(xhr), cache, complete(xhr,status), contentType, context, data, dataFilter(data,type), dataType, error(xhr,status,error), global, ifModified, jsonp, jsonpCallback, password, processData, scriptCharset, success(result,status,xhr), timeout, traditional, type, url, username, xhr 
 $(document).ready(function(){
 $("button").click(function(){
 $.ajax({url:"ajaxfile.txt",
 success:function(result){
 $("div").html(result);
 }
 });
 });
 });
 |  |    |  | $.ajaxPrefilter()
 | Lokale tilpasninger af globale opsætninger eller andre opsætninger til ajax(). | dataTypes, settings, localSettings, jqXHR 
 // register AJAX prefilter : options, original options
 $.ajaxPrefilter(function( options, originalOptions, jqXHR ) {
 
 // retry not set or less than 2 : retry not requested
 if( !originalOptions.retryMax || !originalOptions.retryMax >=2 ) return;
 // no timeout was setup
 if( !originalOptions.timeout >0 ) return;
 
 if( originalOptions.retryCount ) {
 // increment retry count each time
 originalOptions.retryCount++;
 }else{
 // init the retry count if not set
 originalOptions.retryCount = 1;
 // copy original error callback on first time
 originalOptions._error = originalOptions.error;
 };
 
 // overwrite error handler for current request
 options.error = function( _jqXHR, _textStatus, _errorThrown ){
 // retry max was exhausted or it is not a timeout error
 if( originalOptions.retryCount >= originalOptions.retryMax || _textStatus!='timeout' ){
 // call original error handler if any
 if( originalOptions._error ) originalOptions._error( _jqXHR, _textStatus, _errorThrown );
 return;
 };
 // Call AJAX again with original options
 $.ajax( originalOptions);
 };
 });
 |  |   |  | $.ajaxSetup()
 | Global opsætning af afvigelser fra default parametre til brug for $.ajax() requests til serveren. Anvendelse frarådes.
 | async, beforeSend(xhr), cache, complete(xhr,status), contentType, context, data, dataFilter(data,type), dataType, error(xhr,status,error), global, ifModified, jsonp, jsonpCallback, password, processData, scriptCharset, success(result,status,xhr), timeout, traditional, type, url, username, xhr 
 
 $.ajaxSetup({
 dataFilter: function(data) {
 var data = JSON.parse(data);
 delete data.redirect;
 return JSON.stringify(data);
 }
 });
 |  |    |  | $.ajaxTransport()
 | Opbygger et objekt, der håndterer aktuel transmission af ajax data. | dataType, handler |  |  |  | Hentning af data (kaldes samlet: shorthand methods)
 | 
|---|
 | $.get()
 | Indlæser remote side med HTTP GET request. | URL, data, function(data,status,xhr), dataType 
 $("button").click(function(){
 $.get("demo_test.asp", function(data, status){
 alert("Data: " + data + "\nStatus: " + status);
 });
 });
 
 The first parameter of $.get() is the URL we wish to request ("demo_test.asp").
 The second parameter is a callback function. The first callback parameter holds the content of the page requested, and the second callback parameter holds the status of the request
 |  |    |  | $.getJSON()
 | Indlæser JSON-fil med HTTP GET request. | url, data, success(data,status,xhr) 
 $("button").click(function(){
 $.getJSON("demo_ajax_json.js", function(result){
 $.each(result, function(i, field){
 $("div").append(field + " ");
 });
 });
 });
 
 
 |  |    |  | $.getScript()
 | Indlæser og udfører javaScript-fil med HTTP GET request. | url, success(response,status) 
 $("button").click(function(){
 $.getScript("demo_ajax_script.js");
 });
 
 |  |    |  | $.post()
 | Indlæser remote side med HTTP POST request. | URL, data, function(data,status,xhr), dataType 
 $.post(
 "result.php",
 { name: "Zara" },
 function(data) {
 $('#stage').html(data);
 }
 );
 The first parameter of $.post() is the URL we wish to request ("demo_test_post.asp").
 Then we pass in some data to send along with the request (name and city).
 The ASP script in "demo_test_post.asp" reads the parameters, processes them, and returns a result.
 The third parameter is a callback function. The first callback parameter holds the content of the page requested, and the second callback parameter holds the status of the request.
 |  |    |  | load()
 | Indlæser HTML fra remote fil og indsætter den i DOM. (f.eks. en RSS-fil). | url, data, function(response,status,xhr) 
 $("button").click(function(){
 $("#div1")
 .load("demo_test.txt", function(responseTxt, statusTxt, xhr){
 if(statusTxt == "success")
 alert("External content loaded successfully!");
 if(statusTxt == "error")
 alert("Error: " + xhr.status + ": " + xhr.statusText);
 });
 });
 
 |  |     |  | Serialisering: <FORM..>-data | 
|---|
 | $.param()
 | Etablerer en seriel tekststreng i formatet 'www-form-urlencoded' ud fra enhver array eller objekt. Kan bruges i 'URL query string' i et ajax request. 
 Med ajax() traditional-optionen etableres en ' traditional 'shallow' serialized representation'.
 | object, trad 
 $(this).serialize() + "&" + $.param(data)
 |  |    |  | serialize()
 | Etablerer en seriel tekststreng i formatet 'www-form-urlencoded' ud fra $_POST- og $_GET-data. | ingen 
 $(this).serialize() + "&" + $.param(data)
 |  |    |  | serializeArray()
 | Etablerer en seriel tekststreng og returnerer en JSON-fil ud fra $_POST- og $_GET-data. | ingen 
 $("button").click(function(){
 var x = $("form").serializeArray();
 $.each(x, function(i, field){
 $("#results").append(field.name + ":" + field.value + " ");
 });
 });
 
 The serializeArray() method creates an array of objects (name and value) by serializing form values.
 You can select one or more form elements (like input and/or text area), or the form element itself.
 |  |    |   
         
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  
         
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 |