按钮的ajax请求发不到controller里面

qq_34052254 2017-04-11 03:28:27

@Controller
@RequestMapping(value="/a")
public class aController {

@RequestMapping(value="/doSth",method = RequestMethod.POST)
public String doSth(String str, HttpServletResponse response)throws Exception{
response.setCharacterEncoding("utf-8");
model1 mdl=(model1) JSONObject.toBean(JSONObject.fromObject(str), model1.class);
String layout="账号:'"+mdl.getName()+"'密码:'"+mdl.getPassword()+"'";
return layout;
}


}

controller
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>

<head>
<title>我的新网页</title>
<script src="/Script/jquery-1.10.2.min.js"></script>
<script>
function validateLogin(){
var sUserName = document.frmLogin.username.value ;
var sPassword = document.frmLogin.password.value ;
if ((sUserName =="") || (sUserName=="Your name")){
alert("请输入用户名!");
return false ;
}

if ((sPassword =="") || (sPassword=="Your password")){
alert("请输入密码!");
return false ;
}
}
</script>
<script>
function AddHandlingFeeToRefund()
{
var sUserName = document.frmLogin.username.value ;
var sPassword = document.frmLogin.password.value ;
var userInfo="{"
+"\"name\""+":\""+sUserName+"\","
+"\"password\""+":\""+sPassword+"\""+"}";

$.ajax({
type:'post',
url:"/a/doSth",
data:{str:userInfo},
cache:false,
success:function(){
alert("ok!")
}
});
}
</script>
</head>

<body>
<form method="POST" name="frmLogin" id="formid" >
<h1 align="center">用户登录</h1><br />

<table border=1>
<tr>
<td>用户名:</td>
<td>
<input type="text" name="username" value="Your name" size="20" maxlength="20" onfocus="if (this.value=='Your name') this.value='';" onblur="if(this.value=='')this.value='Your name';" />
</td>
</tr>
<tr>
<td>密  码:</td>
<td>
<input type="password" name="password" value="Your password" size="20" maxlength="20" onfocus="if (this.value=='Your password') this.value='';" onblur="if(this.value=='')this.value='Your password';"/>
</td>
</tr>
<tr>
<td>
<%--<input type="submit" name="Submit" value="提交" id="submitInfo" onClick="return validateLogin()" />--%>
<input type="Button" ID="Button1" value="提交1" OnClick="AddHandlingFeeToRefund()" />
</td>
<td>
<input type="reset" name="Reset" value="重置" />
</td>
</tr>
</table>
<%--$(#formid).submit();--%>
</form>


</body>
</html>

index主页
  <!-- 启用spring mvc 注解 -->
<context:annotation-config />
<!-- HandlerMapping -->
<bean
class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />
<!-- HandlerAdapter -->
<bean
class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" />
<!-- 设置使用注解的类所在的jar包 -->
<context:component-scan base-package="com.pb.myapp"/>
<mvc:default-servlet-handler />
<mvc:annotation-driven/>
<!--<mvc:resources mapping="" location=""></mvc:resources>-->
<!-- 完成请求和注解POJO的映射 -->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/jsp/" p:suffix=".jsp" />
</beans>

dispatcher-servlet.xml

<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>

<!-- Spring MVC配置 -->
<!-- ====================================== -->

<servlet>
<servlet-name>dispatcher-servlet.xml</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/dispatcher-servlet.xml</param-value>
</init-param>

<load-on-startup>1</load-on-startup>
</servlet>


<servlet-mapping>
<servlet-name>dispatcher-servlet.xml</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

web.xml




到ajax请求发送的时候 就会找不到controller

求大佬们指点 ,在论坛问了几天了 也没人能解决
...全文
519 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_34052254 2017-04-14
  • 打赏
  • 举报
回复
引用 1 楼 zhangsheng_1992 的回复:
1.如果用submit 请在form标签里面填写action 也就是提交地址 2.submit事件触发需要在from标签中用 onsubmit="reutn function()" 的方式触发 而不是你写的onclick 3.不写action地址 也没有onsubmit事件 将会提交当前页面 你点击submit以后看看你的 url是不是变成了xxx.com?username=&password= 4.如果要执行你的validateLogin()函数 请把他写在from里面

<form onsubmit="return validateLogin()"></form>
谢谢大佬指教 我去试试
zhangsheng_1992 2017-04-11
  • 打赏
  • 举报
回复
1.如果用submit 请在form标签里面填写action 也就是提交地址 2.submit事件触发需要在from标签中用 onsubmit="reutn function()" 的方式触发 而不是你写的onclick 3.不写action地址 也没有onsubmit事件 将会提交当前页面 你点击submit以后看看你的 url是不是变成了xxx.com?username=&password= 4.如果要执行你的validateLogin()函数 请把他写在from里面

<form onsubmit="return validateLogin()"></form>

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧