日期:2014-05-19  浏览次数:20986 次

ajax请求action失败
先贴两段代码
function jiesuan(){
      var str="";
      var object=$("checkbox.checkbox");
      if(object[i].checked=true){
    str=str+object[i].value+","
    }
    var url="order.action?str="+str;
        $.post(url,null,callback);
        }

<action name="order" class="com.buy.Action.OrderAction" method="insert">
       </action> 

大致意思就是把页面的值加起来用逗号分隔,然后将str传给void类型的action,设置了一个button的onclick="jiesuan()",但是单击后毫无反应,Ajax之前就用过一次,不太熟,全部分都给了,大家帮忙解决一下,谢谢了

------解决方案--------------------
<action name="/order"
------解决方案--------------------
$.ajax({
 url:"order.action",
 type:"GET",
 dataType:"json",
 data:{
 "参数1":参数1的值,
 "参数2":参数2的值
 },
 success:function(data) {
}
});
------解决方案--------------------
function jiesuan(){alert("call jiesuan success");}
你看看进了这个函数没?
如果alert出来了,那就是url问题。
------解决方案--------------------
你的url最后多一个逗号,打出来看看可是
------解决方案--------------------
str=str+object[i].value+","
var url="order.action?str="+str; 
URL参数连接符应该用&吧?逗号是错误的。
------解决方案--------------------
你的object[i]中的i怎么来的?没看到哪里有赋值啊。你可以用chrome看看报的什么错,然后跟踪进去。
------解决方案--------------------
1.请求需要加上时间戳。
2.请求后回调函数里调用你的方法

var url = '/user/order.action?tt=' + new Date();
$.get(url,function(data){
    alert(data);
})




------解决方案--------------------

function jiesuan(){ // 方法名称太随便了
    var str="";
    var object=$("checkbox.checkbox");
    if(object[i].checked=true){
str=str+object[i].value+",";
}
$.ajax({
type: "POST",
    url: "order.action",
    dataType: "json",
    data: "str=" + str,
    success: function(data){// 成功返回的数据
var data = eval("(" + data + ")");
alert(data);
}
});
}

------解决方案--------------------
1、可在js中加alert来调试,或者用firefox调试,确定是否执行到$.post。
2、alert(url),然后复制到浏览器地址栏,确定请求地址是否正确。
3、既然使用$.post,那建议用post方式发送请求,将参数从url中拎出来,因为url长度是用限制的。