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长度是用限制的。