Javascript IE未在AJAXFORM中传递成功函数
我编写了这个ajaxform函数,其中包含一个success函数,在使用表单时调用该函数。ajaxform在除IE以外的任何浏览器中都能出色地工作。我不明白IE为什么不传递该功能 AjaxForm:Javascript IE未在AJAXFORM中传递成功函数,javascript,jquery,ajaxform,ie8-browser-mode,Javascript,Jquery,Ajaxform,Ie8 Browser Mode,我编写了这个ajaxform函数,其中包含一个success函数,在使用表单时调用该函数。ajaxform在除IE以外的任何浏览器中都能出色地工作。我不明白IE为什么不传递该功能 AjaxForm: function setupAjaxForm(form_class, updateStatus){ var form = '.'+form_class; var form_action = $(form).attr('action');
function setupAjaxForm(form_class, updateStatus){
var form = '.'+form_class;
var form_action = $(form).attr('action');
var form_url = form_action+"ajax/";
var submitOptions = {
url : form_url,
type : 'POST',
dataType : 'json',
success : function(json) {
var results = json.results;
alert(results);
if(results == "success"){
updateStatus(json);
}else{
alert(" FAIL ");
}
}
};
$(form).ajaxForm(submitOptions);
}
function addProductCartStatus(json){
alert(" Entered for jquery ");
}
成功功能:
function setupAjaxForm(form_class, updateStatus){
var form = '.'+form_class;
var form_action = $(form).attr('action');
var form_url = form_action+"ajax/";
var submitOptions = {
url : form_url,
type : 'POST',
dataType : 'json',
success : function(json) {
var results = json.results;
alert(results);
if(results == "success"){
updateStatus(json);
}else{
alert(" FAIL ");
}
}
};
$(form).ajaxForm(submitOptions);
}
function addProductCartStatus(json){
alert(" Entered for jquery ");
}
调用函数
$(document).ready(function(){
$('.addto_cart').click(function(){new setupAjaxForm('add_cartForm',addProductCartStatus);});
});
应该是
if(result == "success")
你应该用“{”来表示你的if
if(result == "success") {
updateStatus(json);
} else {
这个答案主要是针对你最近的评论 internet explorer在某些情况下更为僵硬。如前所述,这一行
result=“success”
是错误的,它将结果转换为一个包含success字样的字符串,并且始终为true,因此它总是会更新
还建议在ajax调用中添加一个
error:function(){}
这里没有理由new
,您没有调用构造函数。另外,您的代码缩进很糟糕,我花了3次时间才弄清楚}
警报与匿名功能匹配后……它在firefox和其他浏览器中工作,在IE浏览器中工作。所以,这意味着所有的函数都可以工作。在哪个警报之后?如果我错了,请解释你自己。实际上应该是==
,因为任何人都不应该玩强迫魔法类型的俄罗斯轮盘赌,是的,对于string==string可能没问题,但这是一个一致性的问题:)哈哈哈,让我试试俄罗斯轮盘赌:)但是在IE中,警报(结果)函数甚至没有被调用。我希望如果有帮助的话,经常检查每个浏览器开发人员工具每个变量的值。