Ajax post “annulé”
J'ai un ajax post, mais il se fait annulée. Je viens de faire un test.php
fichier qui est juste censé echo 'test';
valeur.
C'est ainsi que mon script ajax ressemble:
function loadAd(date) {
var ajax_url = '<?=URL?>components/ajax/grab_ads.php';
$.ajax({
type: 'POST',
url: ajax_url,
dataType: 'html',
data: ({
date : date
}),
cache: false,
success: function(data) {
if(data > 0) {
$('.advert').fadeIn("fast");
}
},
error: function(xhr, textStatus, errorThrown) {
//alert('Nastala chyba. ' + errorThrown);
}
});
}
La fonction est appelée, j'ai essayé de journalisation de la console. La variable est passée d'accord. C'est ce que je suis en chrome dans l'onglet réseau. capture d'écran
Autre que cela, je suis tout à fait impuissant.
Edit: j'ai appeler la fonction comme ceci:
$datum = Date("d-m-Y H:i:s");
$adl .= '<script type="text/javascript">
loadAd(\''.$datum.'\');
</script>';
Pouvez-vous développez l'entrée dans l'onglet réseau pour voir ce que le retour des en-têtes?
bien sûr, ici, vous allez lien
Ainsi, lorsque vous appelez l'Url de la Requête manuellement dans le navigateur de l'essai, la valeur renvoyée est tout droit? Juste vérifier. Rien dans l'Onglet Réponse (probablement pas)?
je pense que l'url peut être mauvais ou votre grab_ads.php le script retourne une erreur. c'est pourquoi la réussite de la fonction ne sera pas appelé
Et le domaine demandé est le même que celui que vous êtes?
bien sûr, ici, vous allez lien
Ainsi, lorsque vous appelez l'Url de la Requête manuellement dans le navigateur de l'essai, la valeur renvoyée est tout droit? Juste vérifier. Rien dans l'Onglet Réponse (probablement pas)?
je pense que l'url peut être mauvais ou votre grab_ads.php le script retourne une erreur. c'est pourquoi la réussite de la fonction ne sera pas appelé
Et le domaine demandé est le même que celui que vous êtes?
OriginalL'auteur InsaneSVK | 2013-05-16
Vous devez vous connecter pour publier un commentaire.
nous avons fait la requête ajax à partir d'un lien, et n'empêchant pas le lien de suivi. Donc, si vous le faites dans un attribut onclick, assurez-vous de return false; ainsi
preventDefault();
au début de la fonction.pensez preventDefault() est la meilleure méthode,Merci
comment dois-je appeler le prévenir par défaut? Est-il lié à un objet? parce que le retour de faux n'a pas aidé.
vous appelez la fonction onclick ,return false; seulement fonctionne,je pense que
essayez de le mettre dans async:false dans votre requête ajax. Cela peut casser qqch d'autre, mais à essayer si vous voulez que ce soit l'action par défaut. Les requêtes ajax sont généralement annulés lorsque le navigateur commence à naviguer en dehors de la page que vous êtes sur.
OriginalL'auteur Shijin
Vérifier la
HTML element
en dont la manifestation la AJAX appel est arriver déclenché.Si c'est un bouton de saisie, de s'assurer qu'elle doit être de type
button' <input type="button" />
et l'utilisationreturn
déclaration.Si c'est un
anchor
tag, essayez d'utiliser l'instruction return: retour detrue
oufalse
.De s'assurer de ne pas vous rafraîchir à la fin de la AJAX appel. Si vous utilisez un champ input de type submit, il va soumettre le formulaire et de le conduire à la page actualisée, et la demande sera annulée.
OriginalL'auteur Gaurav sharan