Internet explorer post处理程序中的ajax调用和ie问题

Internet explorer post处理程序中的ajax调用和ie问题,internet-explorer,jquery,Internet Explorer,Jquery,我需要在另一篇文章成功后发表一篇文章,但在InternetExplorer中这不起作用。建议 lwaAjax_getrsp中的$.ajax调用似乎适用于所有浏览器,但不适用于ie $('#LoginWithAjax_Register form').submit(function(event){ //Stop event, add loading pic... event.preventDefault(); $('<div class="LoginWithAjax_L

我需要在另一篇文章成功后发表一篇文章,但在InternetExplorer中这不起作用。建议

lwaAjax_getrsp中的$.ajax调用似乎适用于所有浏览器,但不适用于ie

$('#LoginWithAjax_Register form').submit(function(event){
    //Stop event, add loading pic...
    event.preventDefault();
    $('<div class="LoginWithAjax_Loading" id="LoginWithAjax_Loading"></div>').prependTo('#LoginWithAjax_Register');
    //Sort out url
    var url = $('#LoginWithAjax_Register form').attr('action');
    //Get POST data
    var postData = getPostData('#LoginWithAjax_Register form *[name]');
    $.post(url, postData, function(data){
        lwaAjax_getrsp(postData, data, 'LoginWithAjax_Register_Status', '#LoginWithAjax_Register' );            
    }, "json");
}); 

function lwaAjax_getrsp(posteddata, data, statusElement, prependTo ){
    $('#LoginWithAjax_Loading').remove();
    if( data.result === true || data.result === false ){
        if(data.result === true){
            //Login Successful
            var dataString_getrsp = 'name='+ posteddata['user_login'] + 
                                    '&email=' + posteddata['user_email'] +
                                    '&webform_id=' + 00001;
            $.ajax({
                  type: 'POST',
                  url: "http://www.getresponse.com/add_contact_webform.html",
                  data: dataString_getrsp,
                  success: function(data){
                      $('#result2').html("<h2>"+data+"</h2>");
                  }
            })

            if( $('#'+statusElement).length > 0 ){
                $('#'+statusElement).attr('class','confirm').html(data.message);
            }else{
                $('<span id="'+statusElement+'" class="confirm">'+data.message+'</span>').prependTo( prependTo );
            }
        }else{
            //Login Failed
            //If there already is an error element, replace text contents, otherwise create a new one and insert it
            if( $('#'+statusElement).length > 0 ){
                $('#'+statusElement).attr('class','invalid').html(data.error);
            }else{
                $('<span id="'+statusElement+'" class="invalid">'+data.error+'</span>').prependTo( prependTo );
            }

            var newrecoverylink = $('#custom_recovery_password').attr('href');
            $('#LoginWithAjax_Status a').attr('href',newrecoverylink);
        }
    }else{  
        //If there already is an error element, replace text contents, otherwise create a new one and insert it
        if( $('#'+statusElement).length > 0 ){
            $('#'+statusElement).attr('class','invalid').html('An error has occured. Please try again.');
        }else{
            $('<span id="'+statusElement+'" class="invalid">An error has occured. Please try again.</span>').prependTo( prependTo );
        }
    }
}
$('#使用Ajax登录\注册表单')。提交(函数(事件){
//停止事件,添加加载图片。。。
event.preventDefault();
$('').prependTo('#LoginWithAjax_Register');
//整理url
var url=$('#LoginWithAjax_Register form').attr('action');
//获取POST数据
var postData=getPostData('#LoginWithAjax_Register form*[name]');
$.post(url、postData、函数(数据){
lwaAjax_getrsp(postData,data,'LoginWithAjax_Register_Status','LoginWithAjax_Register');
}“json”);
}); 
函数lwaAjax_getrsp(posteddata、data、statusElement、prependTo){
$(“#使用Ajax#u加载登录”).remove();
if(data.result==true | | data.result==false){
如果(data.result==true){
//登录成功
var dataString_getrsp='name='+posteddata['user_login']+
“&email=”+posteddata['user_email']+
“&webform_id=”+00001;
$.ajax({
键入:“POST”,
url:“http://www.getresponse.com/add_contact_webform.html",
数据:dataString_getrsp,
成功:功能(数据){
$('#result2').html(“+data+”);
}
})
if($('#'+statusElement).length>0){
$(“#”+statusElement.attr('class','confirm').html(data.message);
}否则{
$(''+data.message+'').prependTo(prependTo);
}
}否则{
//登录失败
//如果已经存在错误元素,请替换文本内容,否则创建一个新元素并插入它
if($('#'+statusElement).length>0){
$('#'+statusElement).attr('class','invalid').html(data.error);
}否则{
$(''+data.error+'').prependTo(prependTo);
}
var newrecoverylink=$(“#自定义_恢复_密码”).attr('href');
$('#LoginWithAjax_Status a').attr('href',newrecoverylink);
}
}否则{
//如果已经存在错误元素,请替换文本内容,否则创建一个新元素并插入它
if($('#'+statusElement).length>0){
$(“#”+statusElement.attr('class','invalid').html('发生错误。请重试');
}否则{
$(“发生错误。请重试”。).prependTo(prependTo);
}
}
}
问题似乎不在处理程序中的ajax调用上,但在对外部域进行新的分析之后,是否可能阻止对外部域的ajax调用

如何工作?谢谢大家

这不起作用,警报2不显示

 $('#LoginWithAjax_Register form').submit(function(event){
    //Stop event, add loading pic...
    event.preventDefault();
    $('<div class="LoginWithAjax_Loading" id="LoginWithAjax_Loading"></div>').prependTo('#LoginWithAjax_Register');
    //Sort out url
    var url = $(this).attr('action');
    //Get POST data
    var postData = getPostData('#LoginWithAjax_Register form *[name]');
    $.post(url, postData, function(data){
        lwaAjax_getrsp(postData, data, 'LoginWithAjax_Register_Status', '#LoginWithAjax_Register' );            
    }, "json"); 

    window.alert("1");

    $.post('http://www.getresponse.com/add_contact_webform.html', postData, function(data){         
    }, "jsonp");

    window.alert("2");  

});
$('#使用Ajax登录\注册表单')。提交(函数(事件){
//停止事件,添加加载图片。。。
event.preventDefault();
$('').prependTo('#LoginWithAjax_Register');
//整理url
var url=$(this.attr('action');
//获取POST数据
var postData=getPostData('#LoginWithAjax_Register form*[name]');
$.post(url、postData、函数(数据){
lwaAjax_getrsp(postData,data,'LoginWithAjax_Register_Status','LoginWithAjax_Register');
}“json”);
窗口警报(“1”);
$.post($)http://www.getresponse.com/add_contact_webform.html,postData,函数(数据){
}“jsonp”);
窗口警报(“2”);
});
这个有效

    $('#LoginWithAjax_Register form').submit(function(event){
    //Stop event, add loading pic...
    event.preventDefault();
    $('<div class="LoginWithAjax_Loading" id="LoginWithAjax_Loading"></div>').prependTo('#LoginWithAjax_Register');
    //Sort out url
    var url = $(this).attr('action');
    //Get POST data
    var postData = getPostData('#LoginWithAjax_Register form *[name]');
    $.post(url, postData, function(data){
        lwaAjax_getrsp(postData, data, 'LoginWithAjax_Register_Status', '#LoginWithAjax_Register' );            
    }, "json"); 

    window.alert("1");

    $.post('/', postData, function(data){           
    }, "jsonp");

    window.alert("2");  

}); 
$('#使用Ajax登录\注册表单')。提交(函数(事件){
//停止事件,添加加载图片。。。
event.preventDefault();
$('').prependTo('#LoginWithAjax_Register');
//整理url
var url=$(this.attr('action');
//获取POST数据
var postData=getPostData('#LoginWithAjax_Register form*[name]');
$.post(url、postData、函数(数据){
lwaAjax_getrsp(postData,data,'LoginWithAjax_Register_Status','LoginWithAjax_Register');
}“json”);
窗口警报(“1”);
$.post('/',postData,函数(数据){
}“jsonp”);
窗口警报(“2”);
}); 

您缺少一个
在$.ajax()之后。这可能是罪魁祸首吗?只需在
submit()
函数中添加一个注释<代码>$('#LoginWithAjax_Register form').attr('action')
$(this.attr('action')相同此外,您不需要自己的函数来获取post数据。与我假设由您构建的
getPostData()
不同,只需使用
$(this).serialize()
with“;”问题仍然存在:(即,下一个if没有生成,但是使用firefox就可以了