function showDialog(link) {
$('#dialog .newsletter-join').click(function() {
email = $.trim($(this).parent().find('.email').val());
if (email != "Email Address" && email.length > 5) {
$.ajax({
url: '/newsletter/join',
data: {
'email': email,
'pid': $('#dialog .pid').html().trim()
}
});
return true;
}
return false;
});
}
此代码在 FF 中正确执行,在 chrome 中它在调试模式下执行时运行完美,否则它不会返回任何内容。
执行时,它会显示警报框,其中没有任何内容。我在控制台的 XMLHttp 响应中也看不到任何内容。我尝试了其他一些更改:
cache:false // It just exeutes for the first time
datatype:html
你能告诉我如何跟踪这个问题吗?
更新代码:
我正在使用以下脚本调用代码
$(document).ready(function() {
// $(window).load(function () {
showDialog();
return true;
//});
});
function showDialog(link) {
$('#dialog .newsletter-join').click(function() {
email = $.trim($(this).parent().find('.email').val());
if (email != "Email Address" && email.length > 5) {
$.ajax({
url: '/newsletter/join',
data: {
'email': email,
'pid': $('#dialog .pid').html().trim()
},
success: function(data) {
alert("Suvvess" + data);
},
error: function(xmlHttpRequest, textStatus, errorThrown) {
alert("error" + errorThrown);
}
});
return true;
}
return false;
});
}
最新代码更改:我添加了
async: false
ajax 调用的这种变化给出了预期的结果,但这会阻止所有脚本执行,所以仍然觉得这不是永久的解决方案