jquery ajax 同步执行,从jQuery执行同步Ajax请求?

我知道这听起来像以前被问过的东西,但是对于我所有的狩猎,我找不到任何与我正在寻找的东西相匹配的东西.

我正在开发一个基于Ajax的项目.我正在使用jQuery,但即使它使用精美的代码,当我已经达到代码完全相同时,它仍然很混乱,除了通过data字段传递的单个命令.

所以我尝试在处理函数中设置它,如下所示:

function _call(task, opts, async) {

if(typeof async !== "boolean") { async = true; }

opts = $.extend({}, opts, options);

$.ajax({

url: "myphpfile.php",

dataType:"JSON",

type:"POST",

async:async,

data: { task: task, opts: opts }

}).done(function(data) { return data; });

}

对于那些通读的人,你会注意到有一个var,

options在示例中没有定义.它实际上已被分配,为了清楚起见,它被省略了.

我开始意识到这不起作用,因为即使它被设置async: false,代码仍然在调用之后继续_call(...),因此不能及时得到结果.我尝试了一些不同的变体,包括将匿名函数传递给处理程序,然后将其用作.done()函数,但它不会与外部变量交互,从而无法实现目的.

我正在寻找的是一个让我使用它的系统:

var returnedData = _call("thisismytask");

var returnedDataWithOptions = _call("thisisanothertask", {'option': 'option1'});

我真的希望这是可能的.我确信它会是,因为函数的主要目的是消除不必要的重复代码的需要.

谢谢.:)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值