English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Metodo jQuery ajax()

jQuery Ajax方法

Il metodo $.ajax() esegue richieste HTTP asincrone (Ajax).

$.ajax() è il metodo di base per tutte le richieste Ajax inviate da jQuery. Di solito non è necessario chiamare direttamente questo metodo, perché è possibile$.get(),$.post()eload()e altri metodi più avanzati, più facili da usare. Ma, se si hanno bisogno di meno opzioni comuni, $.ajax() può essere utilizzato più flessibilmente.

Sintassi:

Sintassi uno:1.5+ versione

$.ajax(url, {name:value, name:value, ...})

Sintassi due :1.0+ versione:

$.ajax(name:value, name:value, ...)

Esempio

UtilizzandoAggiungererichiesta AJAXVersioneModificare il testo dell'elemento DIV:1.5 versione

$.ajax("ajax_intro.txt", {success: function(response){
  $("div").html(response);
});
Prova a vedere <>/

UtilizzandoAggiungererichiesta AJAXVersioneModificare il testo dell'elemento DIV:1.0Versione:

$.ajax({
  url: "ajax_intro.txt",
  success: function(response){
    $("div").html(response);
  }
});
Prova a vedere <>/

Richiesta della pagina "ajax_get.php" e invio di altri dati:

$.ajax({
  url: "ajax_get.php",
  data: {fname:"Seagull", lname:"Anna"},
  success: function(response){
    $("div").html(response);
  }
});
Prova a vedere <>/

Richiesta della pagina "ajax_get.php", invio di altri dati e messaggio di avviso di stato:

$.ajax({
  url: "ajax_get.php",
  data: {fname:"Seagull", lname:"Anna"},
  success: function(response, status){
        $("div").html(response);
        alert(status);
  }
});
Prova a vedere <>/

Utilizzare il metodo HTTP POST per richiedere la pagina "ajax_post.php":

$.ajax({
  url: "ajax_post.php",
  method: "POST",
  success: function(response){
        $("div").html(response);
  }
});
Prova a vedere <>/

Utilizzare la impostazione asincrona per specificare la richiesta sincrona:

$.ajax({
  url: "ajax_get.php",
  async: false,
  data: {fname:"Seagull", lname:"Anna"},
  success: function(response){
        $("div").html(response);
  }
});
Prova a vedere <>/

Utilizzare il dataType per specificare il tipo di dati della richiesta:

$.ajax({
  url: "/javascript/myscript.js",
  dataType: "script"
});
Prova a vedere <>/

Se la richiesta Ajax incontra un errore, viene visualizzata una notifica:

$.ajax({
  url: "wrong_file.html",
  success: function(response){
        $("div").html(response);
  },
  error: function(xhr){
        $("div").html("Errore: " + xhr.status + " " + xhr.statusText);
  }
});
Prova a vedere <>/

Richiesta del file e notifica all'utente al completamento. Se la richiesta fallisce, viene visualizzata una notifica:

let request = $.ajax({
  url: "ajax_get.php",
  data: {fname:"Seagull", lname:"Anna"}
});
request.done(function(msg){
  $("div").html(msg);
});
request.fail(function(xhr, textStatus){
  $("div").html("Request failed: " + textStatus);
});
Prova a vedere <>/

Valore del parametro

Specifica uno o più pair name:value per la richiesta AJAX

Possibili nomi: i valori nella tabella sottostante:

NomeTipo di valoreDescrizione
async布尔型Un valore booleano che indica se la richiesta deve essere elaborata asincronamente. Il valore predefinito è true
beforeSend(xhr)函数La funzione che viene eseguita prima di inviare la richiesta
cache布尔型Un valore booleano che indica se il browser deve cache la pagina della richiesta. Il valore predefinito è true
complete(xhr,status)函数La funzione che viene eseguita dopo la completazione della richiesta (dopo le funzioni di successo e di errore)
contentTypeValore booleano o stringaIl tipo di contenuto utilizzato per inviare i dati al server. Il valore predefinito è 'application / x-www-form-urlencoded'
context普通对象Specifica il valore di 'this' per tutte le funzioni di callback AJAX correlate
dataPlainObject o Stringa o ArraySpecifica i dati da inviare al server
dataFilter(data,type)函数La funzione utilizzata per trattare i dati originali della risposta XMLHttpRequest
dataType字符串Il tipo di dati atteso nella risposta del server
error(xhr,status,error)函数La funzione che viene eseguita quando la richiesta fallisce
global布尔型Un valore booleano che specifica se deve essere attivato l'handler globale degli eventi AJAX per la richiesta. Il valore predefinito è true
ifModified布尔型Un valore booleano che specifica se la richiesta è riuscita solo se la risposta dall'ultima richiesta è cambiata. Il valore predefinito è false.
jsonpStringa o booleanaSovrascrive la funzione di callback nella richiesta jsonp
jsonpCallback函数Assegna un nome alla funzione di callback per le richieste jsonp
method字符串Specifica il metodo HTTP utilizzato per la richiesta (ottenimento o pubblicazione). Il valore predefinito è GET
password字符串Specifica la password utilizzata per l'autenticazione HTTP nella richiesta
processData布尔型Un valore booleano che specifica se i dati associati alla richiesta devono essere convertiti in una stringa di query. Il valore predefinito è true
scriptCharset字符串指定请求的字符集
statusCode普通对象响应具有相应代码时将调用数字HTTP代码和函数的对象
$ .ajax({
  statusCode:{
    404:function(){
      alert(“找不到页面”);
    }
  }
)})
success(response,status,xhr)函数请求成功时要运行的函数
timeout数字请求的本地超时(以毫秒为单位)
traditional布尔型一个布尔值,指定是否使用传统的参数序列化样式
type字符串method的别名。如果您使用的是1.9.0之前的jQuery版本,则应使用type
url字符串指定将请求发送到的URL。默认为当前页面
username字符串指定要在HTTP访问认证请求中使用的用户名
xhr函数用于创建XMLHttpRequest对象的函数

jQuery Ajax方法