我知道这听起来像以前被问过的东西,但是对于我所有的狩猎,我找不到任何与我正在寻找的东西相匹配的东西.
我正在开发一个基于Ajax的项目.我正在使用jQuery,但即使它使用精美的简化代码,当我已经达到代码完全相同时,它仍然很混乱,除了通过数据字段传递的单个命令.
所以我尝试在处理函数中设置它,如下所示:
function _call(task,opts,async) { if(typeof async !== "boolean") { async = true; } opts = $.extend({},options); $.ajax({ url: "myPHPfile.PHP",dataType:"JSON",type:"POST",async:async,data: { task: task,opts: opts } }).done(function(data) { return data; }); }
For those who read through,you’ll notice that there’s a var,
options
,that hasn’t been defined in the example. It has actually
been assigned,it’s just been omitted for clarity purposes.
我开始意识到这不起作用,因为即使它被设置为async:false,代码仍然在调用_call(…)后继续,因此无法及时获得结果.我尝试了一些不同的变体,包括将匿名函数传递给处理程序,然后将其用作.done()函数,但它不会与外部变量交互,从而无法实现目的.
我正在寻找的是一个让我使用它的系统:
var returnedData = _call("thisismytask"); var returnedDataWithOptions = _call("thisisanothertask",{'option': 'option1'});
我真的希望这是可能的.我确信它会是,因为函数的主要目的是消除不必要的重复代码的需要.
谢谢.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。