我有以下电话:
getData(0);
getData(1);
getData(2);
这些调用javascript函数:
function getData(Code) {
  $.post('/adminA/GetData',
                { Code: Code },
  function (data) {
问题是我的数据无序返回.有没有办法让我按顺序返回数据?
Cha*_*ndu 17
另一种方法是使用ajaxSetup
function getData(Code) {
  $.ajaxSetup({async: false});
  $.post('/adminA/GetData',{ 
        Code: Code },  function (data) {
         // Do Something
        }); 
   $.ajaxSetup({async: true}); //So as to avoid any other ajax calls made sybchrounously
}
同步调用这三个ajax请求将冻结您的浏览器.你最好使用jQuery的Deferred对象.试试这个:
function getData(Code) {
    return $.post('/adminA/GetData', { Code: Code }, function (data) {/*etc.*/});
}
getData(0).done(function() {
    getData(1).done(function() {
        getData(2);
   });
});
您还应该考虑将您的调用组合成一个,并更改服务器逻辑以处理它.这最终将比三个请求更快:
function getData(firstCode, secondCode, thirdCode) {
    $.post('/adminA/GetData', {
        codeOne   : firstCode,
        codeTwo   : secondCode,
        codeThree : thirdCode
    }, function (data) {/*etc.*/});
| 归档时间: | 
 | 
| 查看次数: | 18209 次 | 
| 最近记录: |