1.
function doUpdateItems(form){
if(!illegalQtys.valid()){
alert("Error Qty. Found");
return false;
}
if(!illegalQtys.qtyFilled()){
alert("Some Product have no Qty.");
return false;
}

$("#div_progress").html("<img src='/images/icon_loading.gif' border='0'/> Processing, please wait...");
var param=$(form).serialize();
$.post("updateItems.jsp",param,function(json){
if(json.success){
window.location='editExtra.jsp';
}else{
alert(json.errMsg);
}
},"json");
return false;
}
2.
var param=$(form).serialize();
$.post("updateItems.jsp",param,function(json){  //1.提交页面:直接执行到这个断点;
if(json.success){
window.location='editExtra.jsp';
}else{
alert(json.errMsg);
}
},"json"); //2.接着,执行到这个断点——(下一步,跳转到   执行.java文件里 Action的函数)
return false; //3. .java代码全部执行完毕之后,js里继续执行下一步,结果到了这一行的断点!
}
3.
json=JsonEncodeType.OBJECT.encode(ci);   //json对象:是有值的!(java代码一直执行正常)
(json里面的值)
{
"success": true,
"data":
{"accountId": 1,"address": "","allPriced": "N","amount": 176.860,"arrangeShipment": "N","cartId": 57,"cartType": "C","city": "","continent": "A","currency": "EUR","custId": 2,"expectedDeliDate": "08/25/2013","linkman": "123456","notes": "Not enough stock for below:\r\nP0207-GR: XXL\r\nP0206-P: XXL\r\nC010-W: M","otherShipMethod": "","payMethod": "TT","phone": "","province": "","qty": 12,"region": "KR","res": "Subtotal(?): \r\nShipping(?): \r\nTotal(?):","shipMethod": "DHL,UPS"}}
-------------------
【问题】为什么最后:function(json){ },这个函数没有执行呢?最后不是应该重定向到editExtra.jsp这个页面么……

解决方案 »

  1.   

    看不明白了?你的ajax 请求发出了吗?还是发出了没有接受到响应
      

  2.   

    发出了!function doUpdateItems(form){
    if(!illegalQtys.valid()){
    alert("Error Qty. Found");
    return false;
    }
    if(!illegalQtys.qtyFilled()){
    alert("Some Product have no Qty.");
    return false;
    }

    $("#div_progress").html("<img src='/images/icon_loading.gif' border='0'/> Processing, please wait...");
    var param=$(form).serialize();
    $.post("updateItems.jsp",param,function(json){   //1.提交页面之后,执行到该断点!(然后,firefox单步执行——跳转到断点2)
    if(json.success){
    window.location='editExtra.jsp';
    }else{
    alert(json.errMsg);
    }
    },"json");                                       //2.执行到该断点!(firefox单步执行——跳转到java代码里的断点3)
    return false;                       //4.(按理来说,不是应该执行function(json)这个函数的么?怎么执行到return false;这一行了呢???)
    }java代码:
    public String execute() throws Exception {
    CartInfo ci=CartSvc.updateItems(request);  //3.跳转到java代码里的这行的断点!(然后,一直执行正常,到return SUCCESS;——java代码执行完毕,接着firebox单步执行,跳转到断点4)

    json=JsonEncodeType.OBJECT.encode(ci);
    return SUCCESS;
    }
      

  3.   

    执行到$.post(); 这里的时候,已经跳到java代码里进行动作处理了~~
      

  4.   

    跳转?到这了:window.location='editExtra.jsp';
      

  5.   

    跳转?到这了:window.location='editExtra.jsp';我要问的就是没有执行到window.location='editExtra.jsp这一行呀
      

  6.   

    我没说你的请求地址没给响应呀?我问你响应内容收到了没有。用firfox 一看就明白?
      

  7.   

    我没说你的请求地址没给响应呀?我问你响应内容收到了没有。用firfox 一看就明白?好的,谢谢~  
    我再看下……
      

  8.   

    跳转?到这了:window.location='editExtra.jsp';我要问的就是没有执行到window.location='editExtra.jsp这一行呀如果收你收到响应了 ?window.location='editExtra.jsp不执行?试试这样$.post("updateItems.jsp",param,function(json){   //1.提交页面之后,执行到该断点!(然后,firefox单步执行——跳转到断点2)
            if(json.success){
                (function(){
    window.location.href='editExtra.jsp';
        })();
            }else{
                alert(json.errMsg);
            }
        },"json");   
      

  9.   

    我没说你的请求地址没给响应呀?我问你响应内容收到了没有。用firfox 一看就明白?好的,谢谢~  
    我再看下……响应内容收到了!-----------
    另外,
    如果收你收到响应了 ?window.location='editExtra.jsp不执行?试试这样————这个昨天我试过了,还是一样的情况……