jquery的Ajax

注意

1     对超链接采取ajax要对其取消默认方式

 $("a").click(function(){
  var url=this.href;
  var args={"time":new Date()};
  $.getJSON(url,args,function(data){
  /* $("#show").html(data); */
  $("#show").text(data.bookName);
  });
  return false;
  });

2      args参数采取json方式写 var args={"time";new Date()};

3      如果json字符串是从服务器返回的,则写字符串的时候必须将  '    都写成    \"  


在index.jsp中的<script ....></script>

中$(function(){

...(节点,事件)

var herf=.....;

var args=....;

(以上都类似)

接下来是以4种方式返回Ajax需要的对象data

1.当url的目标文件时Json的js文件,或者url请求的是servlet然后servlet返回的是json类型对象的时候

    $.getJSON(url,args,function(data){

   $("#bookname").text (data.bookname);     //在id为bookname的地方呈现sevlet中json字符串中键为bookname对应的值。

})


2.若url的目标文件为HTML片段格式的,则

$.post(url,args,function(){

$("#bookname").html(data);

})  


3.以load方式,直接加载html文件中的内容

 $("#details").load(url,args);


4.以get/post方式加载json文件或xml文件

 4.1    

json文件

 {
"person":{
"name":"Andy",
"website":"http://andy.com",
"email":"andy@clear.com"
}
}

 index.jsp中

<script type="text/javascript" src="../query/jquery-1.7.2.js">
</script>
<script type="text/javascript">
    $(function(){
    $("a").click(function(){
    var url=this.href;
    var args={"time":new Date()};
   $.getJSON(url,args,function(data){
       var name=data.person.name;
       var website=data.person.website;
      var email=data.person.email;

     $("#details").empty().append("<h2><a href='malto:'+email>"+name+"</a></h2>").
           append("<br/>"+website);
 });
   return false;
    });
    });
</script>
</head>
<body>
   <a href="b.js"> to b</a>
   <div id="details"></div>
   
</body>

4.2  xml形式


<?xml version="1.0" encoding="UTF-8"?>
<det>
 <name>小A</name>
 <email>3141@qq.com</email>
 </det>

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="../query/jquery-1.7.2.js">
</script>
<script type="text/javascript">
    $(function(){
    $("a").click(function(){
    var url=this.href;
    var args={"time":new Date()};
    $.get(url,args,function(data){
    var name=$(data).find("name").text();
    var email=$(data).find("email").text();
    $("#details").empty().append("<h2>"+name+"</h2><br/>").append("<h4>"+email+"</h4>");
    });
   return false;
    });
    });
</script>
</head>
<body>
  <a href="c.xml">to c</a>
  <div id="details"></div>
</body>
</html>

 

});




带servlet的栗子

toservlet.jsp:

<script type="text/javascript">
   $(function(){
  $(":input[name='username']").change(function(){
  var val=$(this).val();
  val=$.trim(val);
  if(val!="")
  {
  var url="${pageContext.request.contextPath }/validateServlet";
  var args={"username":val,"time":new Date()};
  $.post(url,args,function(data){
  $("#ms").html(data);
  });
  }
 
  });
  $("a").click(function(){
  var url=this.href;
  var args={"time":new Date()};
  $.getJSON(url,args,function(data){
  /* $("#show").html(data); */
  $("#show").text(data.bookName);
  });
  return false;
  });
   });
</script>
</head>
<body>
<center>
  <form action="" method="post">
       username<input type="text" name="username"/>
   <div id="ms"></div>
   <input type="submit" value="Submit"/>
  </form>
  <a href="${pageContext.request.contextPath }/validateServlet?cs='hello'">click me</a>
  <div id="show"></div>
  </center>
</body>
</html>


validateServlet.java:

public class validateservlet extends HttpServlet {
private static final long serialVersionUID = 1L;

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

//返回html片段1
List<String> username=Arrays.asList("aa","bb");
String name=request.getParameter("username");
String result=null;
if(username.contains(name))
{
result="<font color='red'>已使用</font>";
}
else{
result="<font color='green'>可以使用</font>";
}
response.getWriter().print(result);
response.setCharacterEncoding("GB2312");
response.setContentType("text/html; charset=GB2312");

//返回html片段2
String res=null;
String rs=request.getParameter("cs");

//准备响应的对象
res="<font color='yellow'>"+rs+"</font>";
response.setContentType("text/html;charset=UTF-8")

响应对象;
response.getWriter().print(res);


在web.xml中配置servlet


    <servlet>
    <servlet-name>validateservlet</servlet-name>
    <servlet-class>com.servlet.validateservlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>validateservlet</servlet-name>
    <url-pattern>/validateServlet</url-pattern>
  </servlet-mapping>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值