jquery中ajax的使用(java)

AJAX方式 

js:界面

var prjContextPath=‘<%=request.getContextPath()%>‘;
$(document).ready(function(){
    //===============GET==============================
    $("#username").blur(function(){
        $.ajax({
            type: "GET",
            url: prjContextPath + "/zhuceAction!queryUserName.action?username=" + $("#username").val()+"&pwd="+$("#pwd").val(),
            dataType: "json",
            success: function(data) {
                if (data.success) {
                     $("#usernamemsg").html("<font color=‘green‘>" + data.msg + "</font>");
                } else {
                    $("#usernamemsg").html("<font color=‘red‘>" + data.msg + "</font>");
                }
            },
            error: function(jqXHR){
               alert("发生错误:" + jqXHR.status);
            }
        });
    });

  //===============POST==============================
    $("#username").blur(function(){
        $.ajax({
            type: "POST",
            url: prjContextPath + "/zhuceAction!queryUserName.action",
            data: {
                username: $("#username").val(),
                pwd: $("#pwd").val()
            },
            dataType: "json",
            success: function(data){
                if (data.success) {
                     $("#usernamemsg").html("<font color=‘green‘>" + data.msg + "</font>");
                } else {
                     $("#usernamemsg").html("<font color=‘red‘>" + data.msg + "</font>");
                }
            },
            error: function(jqXHR){
               alert("发生错误:" + jqXHR.status);
            }
        });
    });
});

调用的action中的方法:

注意:此action要继承BaseAction

public void queryUserName() throws IOException {

        System.out.println("username=" + user.getUsername());
        System.out.println("pwd=" + user.getPwd());
        // 去数据库中验证
        boolean flag = true;

        //形成JSON串
        String  html = "";
        if (flag) {
            html = "{\"success\":1,\"msg\":\"用户名,可以使用!\"}";
        } else {
            html = "{\"success\":0,\"msg\":\"用户名,不可以使用!\"}";
        }

        // 调用BaseAction中的方法向输出流中写JSON串
        responseWriterJSON(html);

    }

BaseAction代码:

package action;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.ServletActionContext;

public class BaseAction {

    public HttpServletResponse response;
    /**
     * 返回页面数据
     * @param returnString 返回数据
     * @throws IOException 异常
     */
    public void responseWriterJSON(String returnString) throws IOException  {

        response = ServletActionContext.getResponse();
        response.setContentType("application/json;charset=utf-8");

            response.getWriter().write(returnString);
            response.flushBuffer();
            response.getWriter().close();

    }
    /**
     * 返回页面xml数据
     * @param returnString 返回数据
     * @throws IOException  异常
     */
    public void responseWriterXML(String returnString) throws IOException  {

        response = ServletActionContext.getResponse();
        response.setCharacterEncoding("utf-8");
        response.setContentType("text/xml");
        response.setHeader("Cache-Control", "no-cache");

            response.getWriter().write(returnString);
            response.flushBuffer();
            response.getWriter().close();

    }
    /**
     * 返回页面数据
     * @param returnString
     * @throws IOException  异常
     */
    public void printWriter(String returnString) throws IOException {

        response = ServletActionContext.getResponse();
        response.setContentType("text/html;charset=utf-8");

            PrintWriter out = response.getWriter();
            out.println(returnString);
            out.close();

    }

}

POST方式

js:

//-----------对用户名进行查询start-------------------------------------------
$(document).ready(function() {

        query();

});

//-----------对用户名进行查询end-------------------------------------------
//加载查询土地登记审批表(判断:add/update/search)
function query()
{
    var username = "aa";
    var pwd = "bb";

    $.post(prjContextPath+"/updateAction!query.action",
    {username:username,pwd:pwd},callBackQuerySuccess);
}

function callBackQuerySuccess(json)
{   

    if(json.data != null || json.data !="")
    {
        //向页面赋值
        /*
         * 方法1
         for(var i=0;i<json.data.length;i++)
        {   var tbBody = "";
            var trColor="";
            alert("i="+i);
            var editData=json.data[i];

            if (i % 2 == 0) {
              trColor = "even";
            }
            else {
              trColor = "odd";
            }
            tbBody += "<tr class=‘" + trColor + "‘><td>" + editData.name + "</td>" + "<td>" + editData.age + "</td></tr>";
            $("#myTb").append(tbBody);

        }
        */

        //向页面赋值方法2
         var typeData = json.data;
          $.each(typeData, function(i, n) {
            var tbBody = ""
            var trColor;
            if (i % 2 == 0) {
              trColor = "even";
            }
            else {
              trColor = "odd";
            }
            tbBody += "<tr class=‘" + trColor + "‘><td>" + n.name + "</td>" + "<td>" + n.age + "</td>" + "<td>" + n.like[0] + "</td></tr>";
            $("#myTb").append(tbBody);
          });

    }
}

action:

package action;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import bean.User;
import bean.UserInfo;

import com.alibaba.fastjson.JSON;
import com.opensymphony.xwork2.ModelDriven;

public class UpdateAction extends BaseAction implements ModelDriven<User> {

    User user = new User();

    public User getModel() {
        return user;
    }

    public void query() throws IOException {

        System.out.println("username=" + user.getUsername());
        System.out.println("pwd=" + user.getPwd());

        UserInfo userinfo = new UserInfo();
        userinfo.setName("张三");
        userinfo.setAge(20);
        userinfo.setBirthday("1990-10-09");
        String[] likes = new String[] { "篮球", "足球" };
        userinfo.setLike(likes);
        userinfo.setHasgirlfirend(false);
        userinfo.setCar(null);

        UserInfo userinfo2 = new UserInfo();
        userinfo2.setName("李四");
        userinfo2.setAge(20);
        userinfo2.setBirthday("1991-11-11");
        String[] likes1 = new String[] { "台球", "羽毛球" };
        userinfo2.setLike(likes1);
        userinfo2.setHasgirlfirend(false);
        userinfo2.setCar(null);
        List<UserInfo> userJsonList = new ArrayList<UserInfo>();
        userJsonList.add(userinfo);
        userJsonList.add(userinfo2);

        String jsonArray = JSON.toJSONString(userJsonList);

        StringBuffer responseString = new StringBuffer();
        responseString.append("{\"total\":")
        .append(2)
        .append(",\"data\":")
        .append(jsonArray)
        .append("}");

        System.out.println(responseString.toString());

        // 调用BaseAction中的方法向输出流中写JSON串
        responseWriterJSON(responseString.toString());
       /**
       {
    "total": 2,
    "data": [{
        "age": 20,
        "birthday": "1990-10-09",
        "hasgirlfirend": false,
        "like": ["篮球", "足球"],
        "name": "张三1"
    }, {
        "age": 20,
        "birthday": "1990-10-09",
        "hasgirlfirend": false,
        "like": ["篮球", "足球"],
        "name": "张三"
    }]
    }
   */
        }

}
时间: 2024-10-25 21:26:52

jquery中ajax的使用(java)的相关文章

通过Jquery中Ajax获取json文件数据

1. JSON(JavaScript Object Notation): javaScript对象表示法: 是存储和交换文本信息的语法,比xml更小,更快,更易解析. 2. JSON基本书写格式 : 名称/值对. 例如: "Student":"Tom" Json值可以是: 数字(整数或浮点数) 字符串(在双引号中) 逻辑值(true或者false) 数组(在方括号中) 对象(在花括号中) null  例如(对象):{"name":"to

JQuery中Ajax的操作

Java软件开发中,后台中我们可以通过各种框架,像SSH等进行对代码的封装,方便我们对Java代码的编写,例如,Struts,SpringMVC对从前台到action的流程进行封装控制,使我们只需要进行一些简单配置就可以实现:而Spring进行了对各种对象的管理进行封装,提供了AOP编程的方式,大大方便了我们:而Hibernate和IBatis则是对JDBC代码进行封装,不需要我们每次都写那些重复而繁杂的JDBC代码. 前台呢,对于页面一些效果,验证等,我们都是通过JavaScript语言进行完

在jQuery中Ajax的Post提交中文乱码的解决方案(转)

引言: 在jQuery的Ajax POST请求中,进行请求,其中的中文在后台,显示为乱码,该如何解决呢? 问题的引入: var regid = $('#oregion').combobox('getValue'); //var sname = $('#sname').val(); var sname = encodeURI($('#sname').val(),"UTF-8"); if(regid!=""&&regid!='undefined'){ $

JQuery中$.ajax()方法参数详解

url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持. timeout: 要求为Number类型的参数,设置请求超时时间(毫秒).此设置将覆盖$.ajaxSetup()方法的全局设 置. async:要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求. 如果需要发送同步请求,请将此选项

jQuery中$.ajax()详解(转)

JQuery中$.ajax()方法参数详解     url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持. timeout: 要求为Number类型的参数,设置请求超时时间(毫秒).此设置将覆盖$.ajaxSetup()方法的全局设 置. async:要求为Boolean类型的参数,默认设置为true,所有

jQuery中ajax的4种常用请求方式

jQuery中ajax的4种常用请求方式: 1.$.ajax()返回其创建的 XMLHttpRequest 对象. $.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数信息.详细参数选项见下. 如果你指定了 dataType 选项,请确保服务器返回正确的 MIME 信息,(如 xml 返回 "text/xml"). 实例: 保存数据到服务器,成功时显示信息. $.ajax({ type: "post", dataType: "

关于jQuery中$.ajax()跨域

今天研究了一些用jquery $.ajax跨域的方法,总结了一些注意事项如下: 首先,跨域JSONP不是AJAX.它不使用XMLHttpRequest.只不过是一个动态脚本元素加载JavaScript代码. Cross-domain JSONP isn't AJAX at all. It doesn't use XMLHttpRequest. It's nothing more than a dynamic script element that loads JavaScript code. Y

jQuery中ajax的使用与缓存问题的解决方法

jQuery中ajax的使用与缓存问题的解决方法 1:GET访问 浏览器 认为 是等幂的就是 一个相同的URL 只有一个结果[相同是指 整个URL字符串完全匹配]所以 第二次访问的时候 如果 URL字符串没变化 浏览器是 直接拿出了第一次访问的结果 POST则 认为是一个 变动性 访问 (浏览器 认为 POST的提交 必定是 有改变的) 防止 GET 的 等幂 访问 就在URL后面加上 ?+new Date();,[总之就是使每次访问的URL字符串不一样的] 设计WEB页面的时候 也应该遵守这个

JQuery中$.ajax()方法参数

url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持. timeout: 要求为Number类型的参数,设置请求超时时间(毫秒).此设置将覆盖$.ajaxSetup()方法的全局设 置. async:要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求. 如果需要发送同步请求,请将此选项