来自 系统操作 2019-09-04 19:46 的文章
当前位置: 六合联盟网 > 系统操作 > 正文

Ajax达成无刷新操作,ajax怎么样达成页面局地跳转

经过代码示例深入分析给大家介绍ajax达成页面局地跳转与结果重返,具体内容如下:

使用jQuery实现Ajax操作        想要达成Ajax页面无刷新效用,不过平素运用Ajax代码实在有一些麻烦,所以就想用jQuery完毕。jQuery很好的卷入了Ajax的为主目的XMLHTTPRequest。所以用起来相当有利。
       首先,创击败务器端代码,这里用Servlet完成劳务器端的多寡管理;代码如下:

1、带有结果再次来到的提交进程

protected void doPost(HttpServletRequest req, HttpServletResponse resp)
  throws ServletException, IOException {
 // 设置编码格式
  resp.setContentType("text/html;charset=UTF-8");
 // 创建输出对象
 PrintWriter out = resp.getWriter();

 // 得到请求参数
 String name = req.getParameter("uname");
 // 判断
 if (name == null || name.length() == 0)
 {
  out.println("用户名不能为空!");
 }
 else
 {
  // 判断
  if (name.equals("cheng"))
  {
  out.println("用户名["+ name +"]已存在!请使用其他用户名!");
  }
  else
  {
  out.println("用户名[" + name + "]尚未存在!您可以注册!");
  }
 }
}

此地用贰个付出开关来演示,HTML代码为:

然后,创制JSP页面,要运用jQuery,必需在页面之中引进jQuery库,也正是八个Javascript文件,别的还需引进自定义的Javascript文件,如下:

<input type="button" class="btn" value="提报" name="submit4" onClick="tibao();">
<!-- 引入Javascript文件 -->
 <script type="text/javascript" src="js/jquery-1.2.6.js"></script>
<script type="text/javascript" src="js/verify.js"></script>

点击提报开关后,通过ajax来贯彻跳转到action中处理,JavaScript代码为:

而JSP页面只要求八个文本框、三个常常开关和三个空白DIV层就能够,该DIV用于体现服务器端重临的处理结果;按键的单击事件触发verify()方法。如下:

function tibao(){
var id='';
var URL = <select:link page="/smokeplan.do?method=Tibao&idset="/>+id;
  $.ajax({url: URL, 
      type: 'GET',
      success: function(result) {
           alert(result);
        }
  });
}
 <body>
 <center>
  用户名:<input type="text" id="uname" name="uname" />
 <br />
 <input type="button" name="btnVerify" value="验证" onclick="verify()" />
 <br />
 <div id="result">

 </div>
 </center>
 </body>

action管理完了后,将回来的结果放到result中,在页面弹出提醒音讯;当然这里的action跳转是须求配置xml的。

注意:Ajax格局下没有须求使用表单来张开多少交到,因而页面中不要写<form>标签。
    接下去,成立二个verify.js文件,在该公文中制造verify()方法,用来兑现Ajax的无刷新功效,那是该示例中非常关键的一步。想要使用jQuery完毕Ajax分为以下四步:

后台Java类管理进度为:

  •     · 获取文本框中的内容;
  •     · 将文本框中的内容发送给服务器端的Servlet;
  •     · 接收服务器端重临的数量;
  •     · 将劳动器端再次来到的数码动态地体以后JSP页面上。
//提报
    public void Tibao(ActionMapping mapping, ActionForm form,
        HttpServletRequest request, HttpServletResponse response) throws Exception {
      String idset=request.getParameter("idset");
      CallHelper helper = initializeCallHelper("L_SmokeBoxtibaoWLDan", form,request, false);
      helper.setParam("bill_ids",idset);
      helper.setParam("personid",getPersonId(request));
      helper.execute();
      PrintWriter write = response.getWriter();
      write.print(helper.getOutput("message"));
      write.close();
    }

本着于第一步,率先通过jQuery得到对象,并得到对象的值,如下:

此间是经过三个sql语句对数据开展拍卖,重临二个message,并将信息打字与印刷到页面;

 // 取得文本框对象,通过$()获取的所有对象都是jQuery对象
 var jQueryObject = $("#uname");
 // 获取文本框中的值
 var userName = jQueryObject.val();

此处做的操作的结果是浮现到response对应的职分,于是获得属于response的流,并非new一个出来。

    通过jQuery中的$()函数得到页面包车型大巴节点,该函数到手的是七个jQuery对象,然后经过jQuery中的val()方法得到节点的值,也正是文本框中的内容。
本着于第二步,咱俩应用jQuery的get()方法来发送数据到劳动器端,如下:
    $.get("TestServlet?uname=" + userName,null,callback);     该办法重临二个XMLHttpRequest对象,该措施提供多少个参数,第2个是诉求的劳动器端的U卡宴L,第三个参数是待发送的参数,一般能够在率先个USportageL中一贯带上参数,所以一般该参数为null,第两个参数是劳动器端成功拍卖完了数据之后的三个回调函数。
本着于第三步,就应该成立二个回调函数,用来拍卖服务器端再次来到的数据,如下:  

也正是说作者从那里跳转过来的,笔者那一个音信就能回到到这里去。所以在js中就可以用result举行摄取这几个重返结果,并且用alert提示。

 // 回调函数
 function callback(data)
 {

 }
 该回调函数有一个参数,该参数就是客户端返回的数据。
 针对于第四步,再次利用jQueyr的选择器函数得到DIV层,将返回的数据显示在该层之上,如下:
 function callback(data)
 {
 /**
 * 第三步,接收服务器端返回的数据
 */
 // 将服务器端返回的数据动态的显示在页面上
 var resultObject = $("#result");
 resultObject.html(data);
 }

使用AJAX怎么着兑现页面跳转

利用jQuery的html()方法将数据动态地展现到DIV层之中。
今日大家对以上的代码举行优化,大家用两句代码就足以兑现上述全部代码的成效,那正是jQuery的兵不血刃之处之一。在verify.js文件之中的verify()方法也可以写成上面包车型大巴款式:

示范代码如下:

$.get("TestServlet?uname=" +$("#uname").val(),null,function(data){
 $("#result").html(data);
})

类型个中选择了ajaxAnywhere框架来兑现ajax,效果不错,並且轻易达成,但最近主题材料是就是页面完成了效果与利益,业务上还亟需付出表单,在这种景观下,即便点击提交后,它照旧会刷新你定义好的zone区域,这一年,如若一味的交付表单就远远不够了,小编动用的方案是:

再为大家享用二个,下边是“无刷新登入”的例子,选取Ashx+jQuery Ajax完毕。
1、后台实例代码 ashx文件(可替换为从数据库中读取) 

 利用js那么些强大的BS项目开发工具,自定义叁个函数来化解上述难题:

public void ProcessRequest(HttpContext context) 
{ 
 context.Response.ContentType = "text/plain"; 
 //context.Response.Write("Hello World"); 

 string name = context.Request.Params["name"].ToString().Trim(); 
 if ("china".Equals(name)) 
 { 
 context.Response.Write("1");//1标志login success 
 } 
 else 
 { 
 context.Response.Write("0");//0标志login fail 
 } 
} 
function doGuahao()
{
 if(checkdata())
 {
 if(document.form1.result_flag.value=="0")
 {
  return false;
 }
 else
 {
  if(document.form1.checktype.value=="danganhao")
  {
  form1.action = "<%=formAction%>";
  form1.submit();
  }
  if(document.form1.checktype.value=="xingming")
  {
  form1.action = parent.left.url2;
  form1.submit();
  }
  if(document.form1.checktype.value=="shenfenzheng")
  {
  form1.action = "<%=formAction%>";
  form1.submit();
  }
 }
 } 
}

2、前台实例代码 aspx文件 

以上内容正是本文介绍ajax怎么样贯彻页面局地跳转与结果重返的全体内容,希望大家欣赏。

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
 <title></title> 

 <script src="js/jquery-1.4.2.js" type="text/javascript"></script> 

 <script type="text/javascript"> 
 $(function() { 
  $("#test").live("click", function() { 
  //alert(0); 
  $.ajax({ 
   type: 'POST', 
   url: 'Handler1.ashx', 
   data: { "name": $("#name").val() }, 
   success: function(data) { 
   if (1 == data) 
    alert('login success'); 
   else 
    alert('login fail'); 
   } 
  }); 
  }); 
 }); 
 </script> 

</head> 
<body> 
 <form id="form1" runat="server"> 
 <div> 
 <input type="text" name="name" id="name" /> 
 <input type="button" name="test" id="test" value="validate" /> 
 </div> 
 </form> 
</body> 
</html> 

您只怕感兴趣的稿子:

  • jQuery AJAX实现调用页面后台方法
  • 浅谈Ajax工夫完结页面无刷新
  • jQuery中经过ajax的get()函数读取页面包车型客车不二等秘书籍
  • jQuery达成AJAX定期刷新局地页面实例
  • 页面向下滚动ajax获取数据的贯彻格局(包容手提式有线电电话机)

各自在前台aspx页面和后台ashx页面中输入如上代码,就落到实处了几个拔尖级简单的Ajax登入,异常粗略吗?

你恐怕感兴趣的稿子:

  • 应用ajax本领无刷新动态调用和讯期货(Futures)实时数据
  • ThinkPHP结合AjaxFileUploader实现无刷新文件上传的措施
  • Jquery基于Ajax方法自定义无刷新提交表单Form实例
  • 利用ajax完成无刷新退换页面内容和地点栏USportageL
  • php+ajax达成无刷新动态加载数据本领
  • jQuery+AJAX达成无刷新下拉加载越多
  • jQuery完毕AJAX定时刷新局地页面实例
  • jQuery使用$.ajax举行异步刷新的方法(附demo下载)
  • jQuery达成form表单基于ajax无刷新提交方法详解
  • 分页本事原理与落实之无刷新的Ajax分页技艺(三)
  • Ajax回落刷新页面难题的化解办法

本文由六合联盟网发布于系统操作,转载请注明出处:Ajax达成无刷新操作,ajax怎么样达成页面局地跳转

关键词: