2 qq 21392389 qq_21392389 于 2015.07.23 15:00 提问

Ajax点击按钮,没有反应

test.jsp

<%@ page contentType="text/html;charset=GB2312"%>
<%@ taglib prefix="s" uri="/struts-tags"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">


AJAX提交请求测试页面








$(document).ready(function(){ $("#btn").click(function(){ $.ajax({ url: "AjaxEventHandleAction", type: "POST", data: {"AppCode":"50201A","DataSets":"2","Datas":"[{'name':'jim','age':'20'},{'name':'jim','age':'20'}]"}, dataType: "json", success:function(data) { var jsonStr = eval("("+data+")"); //alert(data); document.getElementById("info").innerHTML = "retAppCode: [ "+jsonStr.retAppCode+" ] DataSets: [ "+jsonStr.retDataSets+" ] 信息:[ "+jsonStr.retDatas[0].info+" ] "; //alert("success:OperCode="+jsonStr.OperCode); //alert("success:DataSets="+jsonStr.DataSets); //alert("success:Datas[0].name="+jsonStr.Datas[0].name); //alert("success:Datas[0].age="+jsonStr.Datas[0].age); }, error:function(data) { alert("error:"); } }); }); });

<s:submit value="%{getText('test')}" id="btn"/>


Web.xml

<?xml version="1.0" encoding="UTF-8"?>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

welcome.html
login.html
login.jsp

<listener>
    <listener-class>com.essa.config.InitSys</listener-class>
</listener>
<filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
<error-page>
     <error-code>404</error-code>
     <location>/error.jsp</location>
</error-page>
<error-page>
     <exception-type>java.lang.Exception</exception-type>
     <location>/error.jsp</location>
</error-page>
<error-page>
     <exception-type>401</exception-type>
     <location>/error.jsp</location>
</error-page>
<error-page>
     <exception-type>500</exception-type>
     <location>/error.jsp</location>
</error-page>
</web-app>

Struts.xml

<?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">

<package name="essa" extends="json-default">

    <interceptors>
        <interceptor name="essaBoundaryInterceptor" class="com.essa.Interceptor.essaBoundaryInterceptor">
        <param name="filterURISwitch">/welcome.html;/login;/html/help;</param> 
    </interceptor>

    <interceptor-stack name="essaDefaultStack">
        <!-- interceptor-ref name="json" /-->
        <interceptor-ref name="essaBoundaryInterceptor" />
        <interceptor-ref name="defaultStack" />
        </interceptor-stack>
    </interceptors>

    <default-interceptor-ref name="essaDefaultStack" />
    <default-action-ref name="DefaultAction" />
    <global-results>
          <result name="failPage" type="redirect">/login.jsp</result>
     </global-results>

    <action name="DefaultAction" class="com.essa.action.DefaultAction">
        <result name="LoginFail" type="redirect">/LoginFail.html</result>
    </action>

    <action name="AjaxEventHandleAction" class="com.essa.action.AjaxEventHandleAction">
        <result type="json"><param name="root">result</param></result>
    </action>

    <action name="LoginAction" class="com.essa.action.LoginAction">
        <result name="LoginOK" type="dispatcher">/website/home.jsp</result>
        <result name="LoginFail" type="redirect">/LoginFail.html</result>
        <result name="Normal" type="redirect">/welcome.html</result>
        <result name="Help" type="dispatcher">/html/help/help.html</result>         
    </action>

    <!-- 当调用具体的分值结转申请、异议申请等后台执行转长的生成文件,静态化等时,先生成等待进度条,配置一个createStaticsESLFileAction,配置<interceptor-ref name="execAndWait"拦截器>注释 -->    
</package>

<constant name="struts.i18n.encoding" value="UTF-8" />
<constant name="struts.action.extension" value="action"/> 

Action:

package com.essa.action;

import java.io.IOException;

import net.sf.json.JSONObject;

import org.apache.log4j.Logger;

import com.essa.util.DealRequest;
import com.essa.util.VertifyRequest;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

/**

  • @name EssaAction
  • @time 2015-06-20
  • @version 1.0.0
  • @author ZhangDongxu
    */
    public class AjaxEventHandleAction extends ActionSupport {
    private static Logger logger = Logger.getLogger(AjaxEventHandleAction.class.getName());
    private static final long serialVersionUID = 1L;
    private String result;
    private String AppCode ;
    private String DataSets ;
    private String Datas ;
    private int res = 999;

    public String getResult() {
    return result.trim();
    }
    public void setResult(String result) {
    this.result = result.trim();
    }
    public String getAppCode() {
    return AppCode.trim();
    }
    public void setAppCode(String appCode) {
    AppCode = appCode.trim();
    }
    public String getDataSets() {
    return DataSets.trim();
    }
    public void setDataSets(String dataSets) {
    DataSets = dataSets.trim();
    }
    public String getDatas() {
    return Datas.trim();
    }
    public void setDatas(String datas) {
    Datas = datas.trim();
    }

    public String execute(){

    logger.info(">>>>>> [请求信息:AppCode = <"+AppCode+">,DataSets = <"+DataSets+">,Datas = <"+Datas+">]");
    try {
        res = VertifyRequest.vertifyRequest(AppCode,DataSets,Datas);
    } catch (IOException e) {}
    if(res!=0){
        logger.info(">>>>>> [请求校验失败:res = <"+res+">]");
        result = VertifyRequest.getErrorResult(AppCode,res,Datas);
    }
    else{
        logger.info(">>>>>> [请求校验成功:res = <"+res+">]");
        result = DealRequest.getResult(AppCode,DataSets,Datas);
    }
    result = JSONObject.fromObject(result).toString(); 
    return SUCCESS;
    

    }
    }
    /*

  • // ActionContext ac = ActionContext.getContext();
    // String rand = ac.getSession().size()+"";
    System.out.println(name+pwd);
    Datas = "[{'name':'"+name+"','pwd':'"+pwd+"'}]";
    System.out.println(Datas);
    logger.info(">>>>>> [锟斤拷锟斤拷锟斤拷息锟斤拷AppCode = <"+AppCode+">,DataSets = <"+DataSets+">,Datas = <"+Datas+">]");
    try {
    res = VertifyRequest.vertifyRequest(AppCode,DataSets,Datas);
    } catch (IOException e) {}
    if(res!=0){
    logger.info(">>>>>> [锟斤拷锟斤拷校锟斤拷失锟杰o拷res = <"+res+">]");
    result = VertifyRequest.getErrorResult(AppCode,res,Datas);
    }
    else{
    logger.info(">>>>>> [锟斤拷锟斤拷校锟斤拷晒锟斤拷锟絩es = <"+res+">]");
    result = DealRequest.getResult(AppCode,DataSets,Datas);
    }
    result = JSONObject.fromObject(result).toString();
    return "LoginOK";
    */

可以直接访问Action但是通过Ajax点击按钮访问的时候就没有访问

这个是拦截器:

package com.essa.Interceptor;

import org.apache.log4j.Logger;

import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.Interceptor;

/**

  • @name MyInterceptor
  • @time 2015-06-20
  • @version 1.0.0
  • @author ZhangDongxu
    */
    public class essaBoundaryInterceptor implements Interceptor {
    private static Logger logger = Logger.getLogger(essaBoundaryInterceptor.class.getName());

    /**

    • 自定义拦截器执行的代码
    • 作用:拦截请求
    • */ private static final long serialVersionUID = 1L;

    public void destroy() {}
    public void init() {}
    public String intercept(ActionInvocation invocation) throws Exception {
    logger.info(">>>>>> [请求信息:执行了自定义拦截器的代码!!!!]");
    return invocation.invoke();
    }

}

非常感谢

4个回答

sinat_29767257
sinat_29767257   2015.07.23 15:22

只想说看得很费劲,,

CSDNXIAOD
CSDNXIAOD   2015.07.23 15:04

IE9浏览器点击“添加到收藏夹”按钮没有反应问题的解决方法
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

yuke198907
yuke198907   2015.07.23 15:30

ajax不需要submit吧,建议看看ajax的写法

cuiwei1026522829
cuiwei1026522829   Ds   Rxr 2015.07.24 00:16

你不觉得你贴出来的代码特别乱么,不提交,看看是不是ajax请求没出发,还是参数写错了,,还是参数没传对

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
button点击请求ajax不灵的问题
做项目发现了个很恶心的问题, 提交 在button按钮点击请求ajax时,总是失败,各种问题都排除了还是不行,最后一个一个排除问题, 发现button按钮默认为type=submit。 后来把按钮改成提交 就可以了。很是郁闷
点按钮没有反应的N种可能性。
1.  Form嵌套2.  按钮事件没有被初始化3.  服务器控件Form提交方式为Get4. 编译器有问题,关掉重开
ajax在button中使用onclick失效原因
        在做页面提交的时候,发现通过button中onclick绑定的方法时,怎么也无法提交ajax请求,但是使用click方法的时候确实可以成功。因缺思厅。这里做下分析。先看下代码1、使用onclick方法&amp;lt;input id=&quot;login&quot; name=&quot;&quot; onclick=&quot;login()&quot; type=&quot;button&quot; class=&quot;btn btn-success radius s...
jsp单击按钮没反应
有时候button加了监听,但是运行后,发现单击没反应。上例子 Onclick=”test.jsp” 改为 onclick=" window.location.href='MyJsp'" 注意单引号和双引号
ajax请求没反应
今天完成的:book收藏的触发器 -------------------- 明天计划的:结合前端完成登录注册页面 ------------------- 遇到的问题:点击注册账号总是没反应,不知道是怎么回事
单击提交按钮,没有任何反应
这时你可以去看一下,看看你的按钮是否是使用某些标签库实现的(如struts标签库),如果是使用了某些标签库来实现的, 那么就有可能是你没有导入相应的标签库导致的。
Qt 按钮没反应
有些人的按钮设置样式表后,点击没有反应。 这是因为没有设置响应的点击状态。 试一下下面的两个例子就明白了。 1:QPushButton { border: 2px solid #8f8f91; border-radius: 6px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0
急求高手指点!程序修改之后,点击button按钮,为什么没有反应??
程序运行时并没有报错,但是点击button没有反应,请高手们再帮忙看看 !我用的数据库是Access的 表中一共有四列,编号、课程、成绩、学期! private void button2_Click(object sender, System.EventArgs e)        {            string sql, xq1, xq2;            xq1 = text
Android button按键点击无反应
一定要确定包含以下两句代码,切记将 activity.java  中定义的 get_edit_button变量与xml中的控件绑定,不然控件与变量分离无联系,当然没有反应啦。                get_edit_button = (Button) findViewById(R.id.get_edit_button);             get_edit_button.se
关于JSP页面点击按钮没反应,方法没有执行的检查
本人前端知识属于菜鸟级的,不喜勿喷。。前不久,在调试一个页面的时候,点击页面上的一个按钮,按钮绑定的事件并没有执行。好奇怪,以为是方法名写错了,检查一下完全一样啊。好郁闷,网上有说是onclick和onClick的区别,但是还是不行啊。经过一番摸索,原来是方法名用到了JSP里面的保留字。。还有这个限制,真实醉了。在此,本人总结一下出现诸如此类方法的检查手段: (1)id元素是否有重复  (2)