Internet explorer post处理程序中的ajax调用和ie问题
我需要在另一篇文章成功后发表一篇文章,但在InternetExplorer中这不起作用。建议 lwaAjax_getrsp中的$.ajax调用似乎适用于所有浏览器,但不适用于ieInternet 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
$('#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就可以了