我有一个对服务器的 Ajax 调用,只有当我传递alert();
给它时才有效。无法弄清楚出了什么问题。任何人都可以帮忙吗?
客观的
- 如果在 PrettyPhoto iFrame 中单击“更新”按钮 - 然后 (a) 调用服务器以运行更新后端数据库的 PHP 脚本,(b) 关闭 PrettyPhoto 窗口,以及 (c) 刷新页面
- 如果在 PrettyPhoto iFrame 中单击“不更新”按钮 - 只需 (a) 关闭 PrettyPhoto 窗口,然后 (b) 刷新页面
这不起作用(即,没有对服务器进行 Ajax 调用):
jQuery.support.cors = true; // needed for ajax to work in certain older browsers and versions
$('input[name="status"]').on("change", function() {
if ($('input:radio[name="status"]:checked').val() == 'Y') {
$.ajax({
url: 'http://mydomain.com/dir/myPHPscript.php?param=' + $('#param').val() + '&id=' + ( $('#id').val() * 1 ) + '&mode=' + $('#mode').val()
});
}
window.parent.closePP();
window.top.location.href = $('#redirect').val(); // reloads page
});
这有效!(即,当我有 alert() 存在时,对服务器进行 Ajax 调用):
jQuery.support.cors = true; // needed for ajax to work in certain older browsers and versions
$('input[name="status"]').on("change", function() {
if ($('input:radio[name="status"]:checked').val() == 'Y') {
$.ajax({
url: 'http://mydomain.com/dir/myPHPscript.php?param=' + $('#param').val() + '&id=' + ( $('#id').val() * 1 ) + '&mode=' + $('#mode').val()
});
alert('this makes it work');
}
window.parent.closePP();
window.top.location.href = $('#redirect').val(); // reloads page
});
谢谢。
根据答案进行了多次修改——仍然无法正常工作。这是最新的:
jQuery.support.cors = true; // needed for ajax to work in certain older browsers and versions
$('input[name="status"]').on("change", function() {
if ($('input:radio[name="status"]:checked').val() == 'Y') {
$.ajax({
url: 'http://mydomain.com/dir/myPHPscript.php?param=' + $('#param').val() + '&id=' + ( $('#id').val() * 1 ) + '&mode=' + $('#mode').val(),
success: functions(data) {var $doNothing = data;}
});
}
window.parent.closePP();
window.top.location.href = $('#redirect').val(); // reloads page
});