2010-04-26 3 views
0

EDIT: Il a été indiqué ci-dessous que cela ne fonctionne pas car craigslist ne définit pas d'en-tête Allow-Cross-Domain. OK, je vais acheter ça. Existe-t-il un autre moyen d'utiliser javascript dans firefox pour télécharger une page cross-domain alors?La requête Web inter-domaines Javascript échoue avec Status = 0?


Oui, je sais que le code suivant ne fonctionne pas dans IE. Je sais que IE s'attend à ce que j'utilise XDomainRequest() à la place. Je m'en fous de ça. C'est Firefox seulement.

Je suis en train de faire une demande de web cross-domain javascript firefox. Je continue à obtenir un statut de 0. Est-ce que quelqu'un sait pourquoi?

var url = "http://newyork.craigslist.org"; 
var xdr = new XMLHttpRequest(); //Yes, I know IE expects XDomainRequest. Don't care 
xdr.onreadystatechange = function() { 
    if (xdr.readyState == 4) { 
     alert(xdr.status); //Always returns 0! And xdr.responseText is blank too 
    } 
} 
xdr.open("get", url, true); 
xdr.send(null); 

devrait-il pas que le travail?

Répondre

0

Craigslist ne permet pas les demandes inter-domaines à elle. Il doit envoyer un en-tête Access-Control-Allow-Origin approprié.

+0

Alors, y a-t-il un autre moyen pour que javascript demande une page web? – Tav

+0

D'une manière ou d'une autre, vous devez avoir une coopération de tiers pour effectuer des requêtes XMLHttpRequests interdomaines. Sinon ce serait un énorme trou de sécurité, n'est-ce pas? La manière habituelle de le faire est avec JSONP, mais si CraigsList ne vous a pas fourni délibérément une API, vous pouvez accéder à partir d'autres domaines, cela n'arrivera pas. Vous devrez exécuter un proxy sur votre propre serveur pour faire la demande. – bobince

Questions connexes