当前位置: 代码迷 >> Java Web开发 >> 关于ajax访问后台控制其有关问题 springmvc
  详细解决方案

关于ajax访问后台控制其有关问题 springmvc

热度:296   发布时间:2016-04-15 22:43:10.0
关于ajax访问后台控制其问题 springmvc
我js写个ajax访问后台控制器。只用了一个方法。。然后分页。和条件查询都是用的同一个ajax但是我的条件查询却访问不了后台控制器。。然后。fierbug调试 返回的是404。。这个没有搞懂。。不知道什么原因 

贴上代码 

这是ajax方法
function serchCars(){
var loading = parent.layer.load("正在加载中");
$.ajax({
url : "ajaxCars",
type : "POST",
dataType : "json",
data : $('#myform').serialize(),
success : function(date) {
$(".carsInfo").empty();
$("#mypage").empty();
var str = "";
var formStr = "";
if(date.cars.length==0){
parent.layer.alert("没有符合该条件的信息!");
}else{
for ( var i = 0; i < date.cars.length; i++) {
var user = date.cars[i];
if (i % 5 == 0) {
str += "<tr class='error'>";
}
if (i % 5 == 1) {
str += "<tr class='warning'>";
}
if (i % 5 == 2) {
str += "<tr class='success'>";
}
if (i % 5 == 3) {
str += "<tr class=''>";
}
if (i % 5 == 4) {
str += "<tr class='info'>";
}
str += "<td>" + user.deviceId + "</td>";
str += "<td>" + user.loginUserName + "</td>";
str += "<td>" + user.userName + "</td>";
str += "<td>" + user.plateNumber + "</td>";
str += "<td>" + user.carFrameNumber + "</td>";
str += "<td>" + user.hardwareVersion + "</td>";
str += "<td>" + user.userPhoneNumber + "</td>";
str += "<td>" + user.threeCard + "</td>";
if (user.bcUpdatetime!=null) {
str += "<td><img src='../images/car/yes.png'/></td>";
}
if (user.bcUpdatetime==null) {
str += "<td><img src='../images/car/no.png'/></td>";
}
str += "<td><a href='#'>删除</a>|<a href='#'>修改</a></td>";
str += "</tr>";
}
ajaxPage = date.page;
if (date.cars.length > 0) {
formStr += "<span class='badge' id='pageinfo'>"
+ ajaxPage.pageIndex + "/"
+ ajaxPage.totalPages + " </span>";
formStr += "<ul>";
if(ajaxPage.totalPages==1){
formStr +="<li><a class='btn btn-default' href='javascript:void(0);'>首页</a></li>";
formStr +="<li><a class='btn btn-default' href='javascript:void(0);'>上一页</a></li>";
    formStr +="<li><a class='btn btn-default' href='javascript:void(0);'>下一页</a></li>";
    formStr +="<li><a class='btn btn-default' href='javascript:void(0);'>末页</a></li>";
}
if(ajaxPage.totalPages>1 && ajaxPage.pageIndex==1){
formStr +="<li><a class='btn btn-default' href='javascript:void(0);'>首页</a></li>";
formStr +="<li><a class='btn btn-default' href='javascript:void(0);'>上一页</a></li>";
    formStr +="<li><a class='zc' href='javascript:gopage("+ajaxPage.next+");'>下一页</a></li>";
    formStr +="<li><a class='zc' href='javascript:gopage("+ajaxPage.totalPages+");'>末页</a></li>";
}

if(ajaxPage.totalPages>1 && ajaxPage.pageIndex>1  && ajaxPage.pageIndex<ajaxPage.totalPages){
    formStr +="<li><a class='zc' href='javascript:gopage(1);'>首页</a></li>";
    formStr +="<li><a class='zc' href='javascript:gopage("+ajaxPage.privous+");'>上一页</a></li>";
    formStr +="<li><a class='zc' href='javascript:gopage("+ajaxPage.next+");'>下一页</a></li>";
    formStr +="<li><a class='zc' href='javascript:gopage("+ajaxPage.totalPages+");'>末页</a></li>";
}
if(ajaxPage.totalPages>1 && ajaxPage.pageIndex==ajaxPage.totalPages){
    formStr +="<li><a class='zc' href='javascript:gopage(1);'>首页</a></li>";
    formStr +="<li><a class='zc' href='javascript:gopage("+ajaxPage.privous+");'>上一页</a></li>";
    formStr +="<li><a class='btn btn-default' href='javascript:void(0);'>下一页</a></li>";
    formStr +="<li><a class='btn btn-default' href='javascript:void(0);'>末页</a></li>";
}
formStr += "</ul>";
formStr += "<input id='gopageNo' class='span3' type='text'  maxlength='5'onkeyup= 'value=value.replace(/[^\\d]/g,&quot;&quot;)' onbeforepaste='clipboardData.setData(&quot;text&quot;,clipboardData.getData(&quot;text&quot;).replace(/[^\\d]/g,&quot;&quot;))'/>";
formStr += "<button type='button' id='gopage' class='btn btn-info' onclick='jumppage()'>GO</button>";
}
}
$(".carsInfo").html(str);
$("#mypage").html(formStr);
parent.layer.close(loading);
}
});


然后分页方法 
//ajax分页
function gopage(pageno) {
$("#pagenow").val(pageno);
serchCars();
}

然后 条件查询
。。代码没有拷过来。醉了。。不过方式和 分页那个一样的都只是调用了那个serchCars方法。前面就是各种赋值。方式也没有差别。。但就是访问不了控制器。。也是醉了

有没有遇到过此类情况的大神帮帮忙看看呢
------解决思路----------------------
开发工具看请求的url地址,404就是找不到页面,你的java配置和请求的url地址不匹配什么的,导致java无法正常响应你这种格式的url地址
------解决思路----------------------
是不是你的Controal里面方法的注解没写对。另外carManager是啥。
------解决思路----------------------
你后台没进去吗 ?

------解决思路----------------------
莫西米西。。。。。。。
------解决思路----------------------
3个地方需要注意,
1js发的url
2we.xml里面的配置,配置错了无法拦截到请求
3@Controller里面的配置
------解决思路----------------------
在你的Controller中 是否有一些其他方法method没有写成get,或者post,导致进了其他方法
------解决思路----------------------
js 里面 加入  error 方法 看看出错信息。
------解决思路----------------------
我经常遇到无法访问后台一般有两种情况:
1、url错误
2、参数错误 我的这种整个from用 $("#goodsAdd").serialize() 是没问题的,方式是post
如果这两种都不是的话,就有可能被拦截器拦截了。
  相关解决方案