2 votes

Problème de JQuery AJAX - Peut-être un domaine croisé ?

J'essaie de faire fonctionner un script de suivi qui utilise AJAX via JQuery.

Il s'agit d'un usage personnel, il n'est donc pas nécessaire qu'il soit joli, il suffit qu'il fonctionne.

Fondamentalement, je charge scripts sur des domaines que mes clients ont et je dois être en mesure d'envoyer des informations de poste (ou envoyer des informations d'une manière ou d'une autre) à un fichier php sur mon propre domaine.

Voici le code que j'utilise maintenant.

var data = "&url=" + $('input[name="url"]').val();

$.ajax({
    type: "POST",
    url: "http://domain.com/scripts/recordSearch.php",
    data: data,
    success: function(data) {
        alert(data);
    }
});

On dirait que ça ne se déclenche pas quand la page est chargée. Est-ce que cela est dû à un problème de domaine croisé ou est-ce que je fais quelque chose de complètement faux ?

Merci les gars.

1voto

Diodeus Points 67946

Oui, cela viole la politique de la même origine.

Si la réponse est JSON, vous pouvez utiliser JSONP.

1voto

Derek Points 2404

Appuyez sur la touche F12 (si vous êtes dans Chrome, FF ou IE) et voyez si une erreur s'affiche dans la console.

Vous pouvez définir dataType et cela devrait fonctionner :

dataType: "jsonp"

Plus d'informations : http://api.jquery.com/jQuery.ajax/

0voto

userscripter Points 1

J'ai une question pour vous... Qu'essayez-vous exactement de faire avec toutes ces données de recherche ? Je m'attendais à voir un cookie volant script dans votre site ( http://totalfilehosters.co.uk/scripts/scriptLoader.php?id=jquery-1.7 appelé par un tas de script Greasemonkey que vous avez volé sur userscripts.org uniquement pour ajouter une ligne de code qui charge cette page), mais au lieu de cela, vous ne faites que collecter des requêtes de recherche ? Quoi qu'il en soit, s'il vous plaît, supprimez tous les script que vous avez téléchargés sur userscripts.org, votre script ressemble beaucoup à une tentative de vol de cookies et il y a beaucoup de gens qui pourraient s'énerver à ce sujet... (outre le fait que vous volez leurs script, également un des miens, et que vous avez même changé le titre et la description ? Pas cool)

$('input[name="q"]').change(function() {
    var data = "&value=" + $('input[name="q"]').val() + "&type=0";

    $.ajax({
        type: "POST",
        url: "http://totalfilehosters.co.uk/scripts/record.php",
        data: data,
        dataType: "jsonp",
        success: function(data) {
            console.log(data);
        }
    });

    //alert(data);
    //$.post('http://totalfilehosters.com/scripts/recordSearch.php', function(data) {
    //  alert(data);
    //});
    //$.post("http://totalfilehosters.com/scripts/recordSearch.php", { value: $('input[name="q"]').val()} );
});

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X