У меня есть вызов Ajax на сервер, который работает только при передаче alert();
. Не могу понять, что не так. Может ли кто-нибудь помочь?Очень странное поведение jQuery/AJAX
ЦЕЛЬ
- Если кнопка «Update» щелкнул в PrettyPhoto плавающем фрейме - то (а) вызов сервера для запуска PHP скрипт, который обновляет базу данных бэкэнда, (б) закрыть окно PrettyPhoto, и (с) обновить страницу
- Если «не обновлять» кнопка нажата в PrettyPhoto плавающем фрейме. - только (а) закрыть окно PrettyPhoto, и (б) обновить страницу
Это не работает (то есть, 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
});
Это работает! (То есть, 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
});
последняя не будет работать. Вы должны переместить закрытие и изменение местоположения в успех – mplungjan
Я сделал (@mplungjan), и он не закрывал и не перенаправлял. Но база данных базы данных обновилась при вызове ajax ... –