当前位置: 代码迷 >> Java Web开发 >> 各位大侠请叫个有关问题啊AJAX不执行也不报错
  详细解决方案

各位大侠请叫个有关问题啊AJAX不执行也不报错

热度:80   发布时间:2016-04-16 21:30:50.0
各位大侠请叫个问题啊,AJAX不执行也不报错。
最近想学习搭建SSH框架,
$.ajax({ 
      type:"post",
url : "addUser.action",
data:{
"username":username,
"password":password
},
async:false,
dataType:'json',
success : function(data) {
         alert('进入方法!');
if(data==0){
parent.$.messager.alert('操作提示','添加成功!','info');
window.location="../index.html";
}else if(data==1){
parent.$.messager.alert('操作提示','添加失败!','error');
}else if(data==-1){
parent.$.messager.alert('操作提示','标题已经存在!','error');
}else if(data==-9){
$.messager.alert('操作提示','对不起,您没有该操作的权限!','error');
}else if(data==-2){
$.messager.alert('操作提示','对不起,您的登录已经失效,请重新登录!','error');
  $.messager.confirm("提示", "对不起,您的登录已经失效,是否重新登陆?", function (r) {  
       if (r) {  
            parent.window.location.href = "../index.html";
        }  
     });  
}

}
});
 
 }
applicationContext-action.xml配置文件<bean name="UserAction" class="com.ZYJS.action.UserAction">
<property name="userDao">
<ref bean="userDao"/>
</property>
</bean>
struts.xml的配置文件
<struts>
<!-- 将action托管给spring -->
<constant name="struts.objectFactory" value="spring"></constant>
<constant name="struts.multipart.maxSize" value="104857600" />

  <package name="default" extends="struts-default" > 
  <action name="addUser" class="UserAction" method="addUser"></action>
  </package>
</struts>   
------解决思路----------------------
看你在哪返回数据,返回数据是什么。去掉
dataType:'json',
试试。
------解决思路----------------------
error:function(){} 为什么不加上呢,,
------解决思路----------------------
web.xml中拦截怎么样的请求交给struts2?

/*、*.action、*.html还是其他样子的?
------解决思路----------------------
引用:
那都是小问题啊,关键通过这个AJAX根本就没请求道Action里面的方法


没进去 的 原因    1,地址错了  2,json格式错了   
 解决  1  你直接地址栏输入 地址 看这个地址有没问题, 再看看 浏览器  右键 查看下 json请求的地址 ,如果是chrome,
就 右键审查元素  看看 network  ajax  具体访问的地址对不对  你使用的 是相对地址 ,尤其要注意下

2  json格式错了,控制台会直接打印
------解决思路----------------------
url : "addUser.action",  地址路径写全试试
------解决思路----------------------
引用:
其实我就写了个添加的页面来测试,以前出错最少给我报个500或者404现在点一下按钮就闪一下啥反应都没得


异步加载 ,   有错 你也不知道 , 你要知道 就 加上 error:function(){}  404  500 都会跑里面
------解决思路----------------------
首先firebug-->网络,看到底请求有没有发出  如果没发出则js写错了,可以写个最简单最标准的ajax来测试是否请求
如果发出了,直接断点debug吧
------解决思路----------------------
给ACTION方式设置断点,然后在浏览器地址栏直接手动调用addUser.action这个,看能不能进ACTION方法中。
  相关解决方案