2010-02-04 6 views
6

J'ai ce script d'interrogation pour vérifier si un fichier texte est créé sur le serveur. Fonctionne très bien localement, mais échoue lorsque le fichier se trouve sur un domaine différent. Comment est-ce que je réécrirais cela pour le support inter-domaines?JQuery Ajoute un appel interdomaine ajax et un numéro d'autorisation

$.ajax({ 
    url: 'http://blah.mydomain.com/test.txt', 
    type: "GET", 
    success: function(result) { 
     //Success! 
     window.location.replace(Successful.aspx'); 
    }, 
    error: function(request, status, error) { 
     setTimeout("VerifyStatus(" + pollingInterval + ")"); 
    } 
    }); 

EDIT: Je fini par utiliser YQL pour résoudre le problème de domaine croix et bien qu'il fonctionne, YQL est vraiment lent que ça l'ajout d'un peu de frais généraux de performance. Quelqu'un peut-il suggérer une meilleure solution pour les appels inter-domaine JQuery?

Répondre

7

Réglez le dataType à "JSONP" sur votre appel $.ajax(). Vous devrez vous assurer que la réponse est correctement formatée pour que cela fonctionne. Wikipedia a une bonne section sur JSONP.

+0

C'est bon si vous avez le contrôle sur le contenu du fichier cible. – Bruce

+0

J'ai le contrôle sur la création du fichier txt. Avec jsonp, dois-je écrire une chaîne JSON dans le fichier texte? J'utilise ASP.NET et j'ai du mal à tout mettre ensemble – Nick

+0

@ user102533 Correct. Vous pouvez visiter json.org pour une liste des sérialiseurs JSON ASP.NET. –

4

Ajax ne va pas de domaine croisé. Votre meilleur pari est de créer une page php sur le domaine local qui effectue la vérification, et d'aller à -that- avec votre appel ajax.

+0

Ce qui est bon si vous ne disposez pas de contrôle sur le contenu du fichier cible. – Bruce

+0

J'ai le contrôle sur le fichier texte (créé par un service) – Nick

+0

La réponse est obsolète. Il y a deux façons directes de faire Ajax inter-domaines, et les moyens indirects. ** 1. ** [JSONP] (http://en.wikipedia.org/wiki/JSONP), utilise l'injection de balise '

Questions connexes