Cet article partage principalement avec vous une discussion sur les problèmes asynchrones de Jquery en Ajax. Il a une bonne valeur de référence et j'espère qu'il sera utile à tout le monde. Suivons l’éditeur et jetons un coup d’œil.
1. $.get(url, [data], [callback], [type]); ne peut être que Asynchrone
2 $.post(url, [data], [callback], [type]); Asynchrone
Liste des paramètres :
url : représente l'adresse côté serveur de la requête ;
data : Représente les données demandées au serveur (peut être au format clé=valeur ou au format json)
callback : Représente la fonction déclenchée par une réponse réussie du serveur (exécutée uniquement) ; si le succès normal revient) ;
type : indique le type de données renvoyé par le serveur (jquery tapera automatiquement la conversion en fonction du type spécifié),
Types de retour couramment utilisés : texte, json, html, etc.
. $.ajax({ option1:value1,option2:value2... } )
Les options couramment utilisées sont les suivantes :
async : s'il faut être asynchrone, la valeur par défaut est true, ce qui signifie asynchrone ;
data : paramètres envoyés au ; serveur, il est recommandé d'utiliser le format json ;
dataType : le type de données renvoyé par le serveur, le texte couramment utilisé et json
success : répond avec succès à la fonction exécutée, le type correspondant ; est le type de fonction ;
type : Méthode de requête, POST/GET
URL : Demande d'adresse côté serveur.
Faisons un exemple de démonstration :
AjaxServle.java
package ajax; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class AjaxServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //响应请求 //返回参数会json类型的字符串,前端jquery会自动将字符串解析为json对象 response.getWriter().write("{\"name\":\"Tom\",\"age\":18}"); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
TestAjax.html
<!DOCTYPE html> <html> <head> <title>Jquery的Ajax异同步</title> <meta name="content-type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="jquery-1.11.3.min.js"></script> <script> //Get异步响应 function fn1(){ $.get( "/WEB/ajaxServlet", //访问的资源地址 {"name":"zhangsan","age":22}, //请求服务器端的参数,可以是json格式 function(responseData) { //响应成功后执行的函数 var str="name: "+responseData.name+"; age: "+responseData.age; document.getElementById("input1").value=str; }, "json" //返回数据的格式 ) } //Post异步响应 function fn2(){ $.post( "/WEB/ajaxServlet", //访问的资源地址 {"name":"zhangsan","age":22}, //请求服务器端的参数,可以是json格式 function(responseData) { //响应成功后执行的函数 var str="name: "+responseData.name+"; age: "+responseData.age; document.getElementById("input2").value=str; }, "json" //返回数据的格式 ) } //Ajax异步响应 function fn3(){ $.ajax( { url:"/WEB/ajaxServlet", async:true, // 异步 type:"POST", // 请求方式 data:{"name":"lucy","age":18}, // 请求参数 success:function(data){ // 请求成功执行函数 document.getElementById("input3").value="Rose"; }, error:function(){ alert("请求失败"); // 请求失败执行函数 }, dataType:"json" } ) } </script> </head> <body> <input type="button" value="Get异步响应" onclick="fn1()"><input type="text" id="input1"> <br><br> <input type="button" value="Post异步响应" onclick="fn2()"><input type="text" id="input2"> <br><br> <input type="button" value="Ajax异步响应" onclick="fn3()"><input type="text" id="input3"> </body> </html>
Effet d'instance 1 : Lorsque la demande est réussie
Instance effet 2 : Modifiez l'url de fn3() en "/WEB/ajaxServlet33" afin que lorsque la requête échoue,
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!