IE浏览器没有通过AJAXFORM中的成功功能
问题描述:
我已经写了这个ajaxform函数带有一个成功函数,它正在调用表单。 ajaxform在除IE之外的任何浏览器中非常有用。我不明白为什么IE不通过这个函数。IE浏览器没有通过AJAXFORM中的成功功能
给ajaxForm:
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);});
});
答
这个答案主要是去你的最新评论
的Internet Explorer在某些情况下更硬。提到这条线result = "success"
是错误的,转换结果与在它的词成功的一个字符串,总是true,所以它总是更新
也是其推荐给你的Ajax调用增加一个error:function(){}
答
if(result = "success")
应该
if(result == "success")
和 “{” 你应该用你如果
if(result == "success") {
updateStatus(json);
} else {
+0
其实它应该是'===`,因为没有人应该玩类型强制魔术的俄罗斯轮盘赌,是的,它可能是正确的字符串==字符串,但它是一致性的问题:) – 2011-01-11 22:04:21
没有理由为`新`这里,你没有调用构造函数。此外,你的代码缩进是可怕的,我花了3次尝试找出警报后的`}`匹配匿名函数...... – 2011-01-11 21:50:00
它在Firefox和其他浏览器中工作,它/不/工作在IE浏览器。所以,这意味着所有的功能都起作用。在哪个警报之后?如果我错了,请解释一下自己。 – 2011-01-11 21:55:47