Javascript 退出匿名函数。jQuery
我有个问题。我在匿名函数中有以下代码:Javascript 退出匿名函数。jQuery,javascript,jquery,Javascript,Jquery,我有个问题。我在匿名函数中有以下代码: ... if (fillActyalizerForm(jQuery(this).attr('account_id'), jQuery(this).attr('currency_id')) == false) { return false; } jQuery("#actyalizer").slideToggle("slow"); ... 问题是,即使我返
...
if (fillActyalizerForm(jQuery(this).attr('account_id'), jQuery(this).attr('currency_id')) == false) {
return false;
}
jQuery("#actyalizer").slideToggle("slow");
...
问题是,即使我返回false,元素也会向下滑动
function fillActyalizerForm(account_id, currency_id) {
formValues = {};
jQuery.ajax({
async: false,
type: 'POST',
url: "..",
data: "{'accountId':" + account_id + ",'currencyId':" + currency_id + "}",
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (data) {
if (data && data.hasOwnProperty("d")) {
data = data.d;
}
if (!data.Error) {
formValues = data;
delete formValues.Error;
} else {
alert('<%=Resources.app.Actyalizer_AcLoadFail %>');
return false;
}
},
error: function (data) {
alert('<%=Resources.app.Actyalizer_AcLoadFail %>');
return false;
}
});
函数fillActyalizePerform(帐户id、货币id){
formValues={};
jQuery.ajax({
async:false,
键入:“POST”,
网址:“…”,
数据:“{'accountId':“+account_id+”,'currencyId':“+currency_id+”}”,
数据类型:“json”,
contentType:“应用程序/json;字符集=utf-8”,
成功:功能(数据){
if(data&&data.hasOwnProperty(“d”)){
data=data.d;
}
如果(!data.Error){
formValues=数据;
删除formValues。错误;
}否则{
警报(“”);
返回false;
}
},
错误:函数(数据){
警报(“”);
返回false;
}
});
因此,我成功地获取了警报消息,但它仍然会沿着元素向下滑动。问题在于
fillactyalizeperform
函数执行异步.ajax
方法,然后返回而不指定返回值(默认返回值为false)
我认为你有两个选择:
jQuery(“#actyalizer”).slideToggle(“slow”)
移动到success
功能中这可以通过将函数作为参数传递给
FillActyalizPerform
或实际移动代码来实现。问题在于FillActyalizPerform
函数执行异步.ajax
方法,然后返回而不指定返回值(默认返回值为false)
我认为你有两个选择:
jQuery(“#actyalizer”).slideToggle(“slow”)
移动到success
功能中这可以通过将您的函数作为参数传递给
FillActyalizPerform
或实际移动代码来实现。您确定它正在返回吗?要扩展@mindandmedia所说的内容,请检查控制台中FillActyalizPerform
函数引发的错误。@mindandmedia,@Rory McCrossan如何生成子函数return false?我尝试了try-catch,但失败了。你确定它正在返回吗?要进一步说明@mindandmedia所说的内容,请检查控制台中的fillactyalizeperform
函数引起的错误。@mindandmedia,@Rory McCrossan如何使子函数返回false?我尝试了try-catch,但失败了。我想我将使用s秒option@JakeFisher,注意使用同步AJAX调用时的缺点,它会阻塞UI线程!研究它并确保这是您真正想要的。Fourie是的,您对第一个选项的看法是正确的。这更可取。我想我将使用第二个选项option@JakeFisher,请注意使用同步AJAX ca时的缺点lls,它阻止了UI线程!研究它并确保这是您真正想要的。Fourie是的,您对第一个选项的看法是正确的。这更可取。