`
newleague
  • 浏览: 1501049 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

通过jquery实现ajax调用

阅读更多

要素:struts1

一、

1、test.jsp

<head>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
 <script type="text/javascript" src="<%=request.getContextPath()%>/jquery/DLC.js"></script>
 </head>

 

 

<html:form>

   <td width="150" align="left">

      <html:select property="makeName" styleId="makeName"  onchange="getYear('yearName','${pageContext.request.contextPath}/website/index.do?method=getYear&makeName='+this[this.selectedIndex].value)">
            <html:option value="Select..."/>
            <html:options property="makeName" labelProperty="makeName" collection="makeList"/>
           </html:select>

   </td>

 

 

<td width="150" align="left">
            <html:select property="yearName" onchange="getModel()" styleId="yearName">
             <html:option value="Select..."/>
             <html:options labelProperty="yearName" property="yearName" collection="yearList"/>            
            </html:select>
           </td>

</html:form>

 

 

2、DLC.js

function getYear(makeName,url){
 $.ajax({
  type:'post',
  url:url,
  success: function(html){$('#'+makeName).html(html);}
  });
}

 

3、Action

 

public ActionForward getYears(ActionMapping mapping,ActionForm form,HttpServletRequest request,
   HttpServletResponse response){
 
  String makeName = request.getParameter("makeName");
    
  List<String> years = idlcs.getYears(makeName,lanId);
  request.setAttribute("years", years);
  return mapping.findForward("getYears");
 }

 

4、getYears.jsp(以页面的方式返回结果)

 

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
 <%
 List<String> list = (List)request.getAttribute("years");
 for(String tm :list){
 %>
 <option value="<%=tm%>"><%=tm%></option>
 <%
 }
 %>

 

 改写3、4步,直接返回结果,不写jsp页面了

 

 public ActionForward getYears(ActionMapping mapping,ActionForm form,HttpServletRequest request,
   HttpServletResponse response){
 
  String makeName = request.getParameter("makeName");
  List<String> years = idlcs.getYears(makeName,lanId);
    
  response.setContentType("text/html");
  response.setHeader("Cache-Control", "no-cache");
  response.setCharacterEncoding("UTF-8");
  
  PrintWriter out = null;
  try {
   out = response.getWriter();
  
  for(String year:years){
   out.println("<option>"+year+"</option>");
  }
  out.close();
  } catch (IOException e) {
   e.printStackTrace();
  }finally{
   if(out!=null){
    out.close();
   }
  }
  return null;

 

 

 

二、<html:select>标签属性onchange里不支持<%=request.getContextPath()%>,支持EL表达式

struts-html.tld:

<tag>
<name>select</name>

<attribute>

...
<name>onchange</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>

...

</tag>

 

 

<#

Element : rtexprvalue
Defines if the nesting attribute can have scriptlet expressions as a value, i.e the value
 of the attribute may be dynamically calculated at request time, as opposed to a static
 value determined at translation time. #PCDATA ::= true | false | yes | no If not present
 then the default is "false", i.e the attribute has a static value

Data Type : #PCDATA

#>

 

 

**************************************************************************

实例:

1、在javascript中

var url1 = "<%=request.getContextPath()%>/admin/manageChangeRecord.do?method=checkSameVenderBySerialno";
   var oldCode = changeRecordInfoForm.oldCode.value;
   var newCode = changeRecordInfoForm.newCode.value;

$.ajax({
    url:url1,
     cache: false,
          dataType:"text",
          data:{code1:oldCode,code2:newCode},
          success: function(ret){//ret为服务器返回值
                     if(ret=="false"){
                      alert("换机的产品属于不同的分公司,不能换机");
                     }else{
                     document.forms[0].submit();
      document.getElementById("subid").disabled="disabled";
                     }
                 }
   });

 

服务器端:

public ActionForward checkSameVenderBySerialno(ActionMapping actionMapping,
   ActionForm actionForm, HttpServletRequest request,
   HttpServletResponse response) throws X431WebException {

 long oldVenderId = ...

 long newVenderId = ...
  ......

 

  //flag 为true时,表示换机的是同一个分公司的产品
  boolean flag = oldVenderId==newVenderId?true:false;
  try {
   PrintWriter pw = response.getWriter();
   pw.print(flag);
   pw.flush();
  } catch (IOException e) {
   e.printStackTrace();
  }
  return null;
 }

分享到:
评论

相关推荐

    jquery与ajax调用,有代码 , 有说明,使ajax调用简单

    本教程将详细介绍如何利用jQuery实现Ajax调用,并通过具体的代码示例帮助你理解和应用。 **一、jQuery与Ajax基础** jQuery是一个流行的JavaScript库,它通过简洁的API让JavaScript编程变得更加容易,包括DOM操作、...

    asp.net 利用jquery-ajax调用后台方法

    下面将详细介绍如何利用jQuery-AJAX调用ASP.NET后台方法。 1. **创建WebMethod** 在ASP.NET的C#或VB.NET代码中,我们可以创建一个静态的WebMethod,标记为 `[WebMethod]` 或 `[ScriptMethod]`,以便可以从...

    Asp.net中JQuery、ajax调用后台方法总结

    Asp.net 中 jQuery、ajax 调用后台方法总结 在 Asp.net 中,使用 jQuery 和 Ajax 调用后台方法是一种常见的做法。...通过本文的总结,读者可以了解到使用 jQuery 和 Ajax 调用后台方法的基本原理和实现方法。

    Jersey实现restful,CXF调用以及jquery AJAX调用

    【标题】:Jersey实现RESTful,CXF调用及jQuery AJAX调用 【内容】: 在现代Web开发中,RESTful API已经成为一种主流的接口设计模式,它以简洁、可扩展的方式提供服务。本篇将详细介绍如何使用Jersey框架实现...

    asp.net+jquery+ajax所有调用例子

    ASP.NET 是一个强大的Web应用程序开发框架,由微软...通过在ASP.NET页面中添加UpdatePanel,并配置触发器,我们可以实现后台方法的AJAX调用。例如,一个简单的ASP.NET AJAX调用aspx页面的方法可能如下: ```asp.net ...

    通过Jquery实现Ajax传值.rar

    以下是一个基本的Ajax调用示例: ```javascript $.ajax({ url: '/Controller/Action', type: 'POST', // 或者 'GET' data: { key1: 'value1', key2: 'value2' }, // 要传递的数据 dataType: 'json', // 预期的...

    struts2+json+jquery实现ajax数据的存取

    - **前端请求**:jQuery的$.ajax()方法被调用,指定URL为Struts2的Action,设置type为'POST'或'GET',dataType为'json',数据以JSON格式通过data参数传递。 - **Struts2处理**:Struts2框架接收到请求后,根据配置...

    jQuery使用Ajax方法调用WebService.doc

    本文将详细介绍如何使用jQuery的Ajax方法来调用WebService,并通过具体的示例代码来阐述其工作原理及实践应用。 #### 二、基础知识 在深入探讨之前,我们先了解一下基础概念: 1. **Ajax**:一种在无需重新加载整个...

    jQuery使用Ajax方法调用WebService

    在.NET中,你可以创建一个ASMX文件来定义你的服务方法,然后在jQuery的Ajax调用中引用这些方法。 在调用过程中,需要注意的是跨域问题。由于同源策略的限制,Ajax请求通常只能访问同源(协议+域名+端口)的资源。...

    JQuery中Ajax的异步调用 示例

    JQuery,JQuery,JQuery,JQuery,JQuery,JQuery,JQuery,JQuery,JQuery,JQuery,JQuery,JQuery,ajax,ajax,ajax,ajax,ajax,ajax,ajax,ajax,ajax,ajax,ajax,ajax,ajax,ajax,ajax,ajax,一个关于在js中通过JQuery实现异步无...

    JQuery+AJAX实现用户名验证

    在IT行业中,前端开发...总的来说,结合jQuery和AJAX可以轻松实现动态的用户名验证功能,为用户提供即时的反馈,同时也提高了网站的交互性和响应速度。这种技术在现代Web应用中广泛应用,是前端开发者的必备技能之一。

    springmvc利用jquery实现ajax的例子

    在本示例中,我们将探讨如何使用Spring MVC框架与jQuery库结合实现Ajax功能。Spring MVC是Spring框架的一部分,专门用于构建Web应用程序,而jQuery则是一个强大的JavaScript库,简化了DOM操作、事件处理以及异步HTTP...

    Jquery实现ajax三级联动

    在网页开发中,"Jquery实现ajax三级联动"是一个常见的需求,主要用于动态更新页面内容,如下拉框的联动选择。这种技术可以提高用户体验,减少不必要的页面刷新。在这个场景中,我们将探讨如何利用jQuery和Ajax技术...

    基于jQuery的Ajax聊天室程序

    在聊天室中,当用户发送消息时,jQuery的$.ajax()函数会被调用,发送数据到服务器。同时,它也用于接收服务器返回的新消息,更新聊天界面。 3. **PHP**:服务器端通常使用PHP来处理Ajax请求。在这个聊天室中,PHP...

    jquery利用ajax调用后台方法实例

    标题:“jquery利用ajax调用后台方法实例” 这个标题表明我们将讨论一个使用jQuery的Ajax功能与后台交互的实际示例。Ajax(Asynchronous JavaScript and XML)允许我们在不刷新整个页面的情况下,向服务器发送请求...

    jQuery的Ajax实现异步传输List、Map

    要实现jQuery的Ajax调用,我们需要使用`$.ajax()`函数。这个函数提供了一种灵活的方式,可以配置请求的所有方面,包括URL、数据类型、请求类型等。以下是一个基本的Ajax调用示例: ```javascript $.ajax({ url: '...

    Jquery和ajax结合使用的小例子

    Ajax在jQuery中的使用通常是通过`$.ajax()`函数来实现的。这个函数提供了一种灵活的方式来发送异步HTTP请求。例如: ```javascript $.ajax({ url: 'your-api-url', // API接口地址 type: 'GET', // 请求类型,...

    jqueryAjax_无刷新调用另一页实例

    "jqueryAjax_无刷新调用另一页实例"这个标题意味着我们将探讨如何利用jQuery的AJAX功能实现页面的动态加载。 首先,jQuery是一个轻量级的JavaScript库,它简化了HTML文档遍历、事件处理、动画设计以及AJAX交互。...

    Asp.net 用jQuery 实现Ajax的效果方法

    在Asp.net开发中,利用jQuery实现Ajax效果可以极大地提升用户体验,因为它允许页面部分更新而无需刷新整个页面。Ajax(Asynchronous JavaScript and XML)技术通过异步方式与服务器通信,使得用户界面更加流畅和响应...

Global site tag (gtag.js) - Google Analytics