我有以下电话:
getData(0); getData(1); getData(2);
这些调用javascript函数:
function getData(Code) { $.post('/adminA/GetData', { Code: Code }, function (data) {
问题是我的数据无法按顺序返回。有没有一种方法可以让我按顺序返回数据?
同步调用这三个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.*/});