代码-ajax提交数据后 ,怎么取值??

问题描述

ajax提交数据后 ,怎么取值??
 <script type="text/javascript">
   function validate(){
    //var username = $('#usernmae').val();
    var username = document.getElementById("username").value;
    alert(username);
    $.ajax({
        url:"register",
        type:"post",
        date:{username:username},
        success:function(data){
            $('#message').html(data);
        }

    });

    ajax跟struts2结合,后台java代码怎么取值,如果是Jason的时候怎么取值??我在后台结果视图中实用的stream流的形式返回的result,想弄明白,ajax跟struts2之间的数据流转到底是怎么样的形式?????如果是Jason的话,应该怎么取值????有没有深入研究过的人??

解决方案

post回去就相当于表单,直接用参数就可以了。

解决方案二:

你这个问题边上好多乱七八糟的条,看的我眼晕,异步传输,直接相当于表单,就过去了,在后台直接用参数接受;你不是set/get方法了么,所以可以取得
这个参数值,之后直接完成功能,传回前台,这里有个问题,你在ajax中写的datatype是什么类型就要传回什么类型,有点废话了- - 。最后浏览器自己会
识别出这个串子的,你可以用火狐看到,希望对你有用!!!加油

解决方案三:

如果你在控制器中也就是你url对应的类中,写了setXX(),getXX()方法,那么可以直接this.XX即可.
如果没写set,get方法,那么可以 ServletActionContext.getRequest().getParameter("XX");

解决方案四:

首先你的页面代码有误data参数拼写错误。示例代码:

 <%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"
            + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <title>Welcome to BoadVedio</title>
    <script type='text/javascript' src="<%=basePath%>resource/js/jquery-1.8.3.js"></script>
    <script type="text/javascript">
            var basePath = '<%=basePath%>';
            function validate(){
                var username = document.getElementById("username").value;
                $.ajax({
                    url:basePath+"validate.action",
                    type:"post",
                    data:{username:username},
                    success:function(data){
                        var message = data.result.message;
                        $('#message').html(message);
                    }
                });
            }
    </script>
  </head>
  <body>
    <input type="text" name="username" id="username"/>
    <input type="button" value="提交" onclick="validate();"/>
    <div id="message"></div>
  </body>
</html>

其次,你定义Action类包含username属性和一个map类型存放json数据。

 public class ValidateAction extends ActionSupport {
    private String username;
    public Map<String,Object> result = new HashMap<String,Object>();

    public Map<String, Object> getResult() {
        return result;
    }

    public String execute() throws Exception {
        if ("zhangsan".equals(username)) {
            result.put("message", "success结果");
        }

        else {
            System.out.println("error结果");
            result.put("message", "error结果");
        }
        return Action.SUCCESS;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }
}

第三,配置struts的action的result类型为json且继承json-default。

 <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
    <package name="default" extends="json-default">
        <action name="login" class="LoginAction">
            <result name="success">/success.jsp</result>
            <result name="error">/error.jsp</result>
        </action>

        <action name="validate" class="ValidateAction">
            <result type="json" />
        </action>
    </package>
</struts>

按照以上步骤编写测试代码,需要导入struts2-json-plugin-2.2.3.jar。祝好!

解决方案五:

后台Action返回的result类型为json的话,在JSP页面可以直接访问Action的属性result了。
1 Action接收请求数据,只要提供对应属性的getter和setter方法。
2 Action返回结果配置成json时,继承json-default,配置result类型为json。

时间: 2024-09-13 09:32:05

代码-ajax提交数据后 ,怎么取值??的相关文章

javascript,each在Post后,取值取不到

问题描述 javascript,each在Post后,取值取不到 $("#div_t td").each(function () { //alert($(this).text()); $.post("/Home/GetDate", { ID: $("#Name").combobox('getValue'), Date: $(this).text() }, function (data) { if (data.item != null) { ale

请求赋值-ajax请求数据后赋值后为什么会把值清空了

问题描述 ajax请求数据后赋值后为什么会把值清空了 function formSubmit(url) { var urlPrefix = "http://localhost:8080/gtms/"; var param = '${param.name}'; var url = urlPrefix + param + ".action"; $.ajax({ url : "../apiTest/test.action?url=" + url, da

前台ajax提交数据,后台接受,存入数据库

问题描述 前台ajax提交数据,后台接受,存入数据库 "{"1":{"top":125,"left":376,"process_to":[]},"2":{"top":339,"left":378,"process_to":[]},"3":{"top":280,"left":840

spring mvc ajax请求数据后,前台根据返回的key如果跳转的别的jsp界面

问题描述 spring mvc ajax请求数据后,前台根据返回的key如果跳转的别的jsp界面 根据返回的data,在jsp前端进行跳转,有没有好的办法,还是可以通过配置就可以实现: window.location不太好使,可以跳转但是URL地址会显示具体的参数: 解决方案 参数你都放action里面了...那肯定显示了..fm表单放一个隐藏域存储你的cardList参数 <form id="fm" action="${}.../cardlist">&

jquery ajax 数据绑定-JQUERY ajax提交数据到后台,进行数据库查询,然后重新绑定GridView.

问题描述 JQUERY ajax提交数据到后台,进行数据库查询,然后重新绑定GridView. 我在前台放了一个input,type=button点击后触发下面的ajax提交数据到后台.后台处理后对一个GridView进行数据绑定.前台代码如下: params = JSON.stringify(obj); $.ajax({ type: ""Post"" url: ""/aspx_consumption/Consumption_Home.aspx/

ajax提交请求后,action不能实例化

问题描述 Ajax提交请求后,通过<s:debug>观察,值栈中没有action的实例求解?其实,我想用<s:iterator>取得action的List<> 解决方案 解决方案二:你是如何把list传给jsp的呢???你是用的anywhere??解决方案三:通过ajax请求,在action中执行publicStringlist(){}方法,将action中的List实例化(通过打印方法已确定List不为空),现在想通过<s:iterator>取出List,

javascript-js实现子窗口提交数据后,自动关闭,并且同时刷新父窗口

问题描述 js实现子窗口提交数据后,自动关闭,并且同时刷新父窗口 js实现子窗口提交数据后,自动关闭,并且同时刷新父窗口,该如何实现,网上查了很多方法,都没有达到想要的效果,求助各位大神帮忙解决一下这个小问题. 解决方案 JS自动关闭父窗口JS自动关闭窗口js关闭窗口 刷新父页面脚本 解决方案二: 关闭窗口: function closewindow() { win.close(); } 刷新父页面 function reloadPage() { parent.window.location.r

js-如期改变后 如何计算取值

问题描述 如期改变后 如何计算取值 如图片上的一样 标上红框上的都选完后 出现了提取日期 但是我想提取 改变后 在计算出天数出来 但是计算不出来 这样能但出来 我想问 这是怎么回事 是我获取的不对吗 下面是代码 代码很多 只贴出来我说的一部分 //计算截止改变后和起止相差的天数 function getDays1(){ var s1 = $("#EntTime32").val(); var s2 = $("#EntTime31").val(); var d1 = n

ajax读取数据后使用jqchart显示图表的方法_javascript技巧

本文实例讲述了ajax读取数据后使用jqchart显示图表的方法.分享给大家供大家参考.具体分析如下: 最近项目中需要显示出图表效果,原来收集到的图表插件终于有用武之地了. 但是和jqchart对比,还是有很多不同之处的. 实现效果: 我就对jqchart进行了重新编写. 首先要解决的是不显示x轴和y轴: //各DIV作成 // 取消标题显示 /* this.titleBox//Title =this.mkBoxElement('T', this.op.titleLeft,this.op.tit