jquery ajax readystate 0 état de responsetext 0 erreur de statut
J'obtiens l'erreur suivante: jquery ajax readystate 0 responsetext status 0 statustext error
lorsque le donner: url(http://www.tutorialspoint.com/prototype/prototype_ajax_response.htm)
cependant, il fonctionne très bien quand je lui donne url(localhost:""/embparse_page)
sur mon localhost.
J'ai essayé d'utiliser les en-têtes que j'ai trouvé sur une recherche Google, et j'ai utilisé beforeSend:""
trop, mais ça ne marche toujours pas.
Je pense que le principal problème est: XMLHttpRequest cannot load http://www.tutorialspoint.com/prototype/prototype_ajax_response.htm. Origin "local server" is not allowed by Access-Control-Allow-Origin.
mais je ne la comprends pas.
Quelqu'un peut-il expliquer le problème pour moi, comme je suis assez nouveau dans ce.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns:ng="http://angularjs.org">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta Access-Control-Allow-Origin="*" />
<title>Page Parsing</title>
<script type="text/javascript" src="/js/jquery-1.9.1.min.js"></script>
<script>
getit=function(){
jQuery.support.cors = true;
$.ajax({
type:"GET",
url:"http://www.tutorialspoint.com/prototype/prototype_ajax_response.htm",
dataType:"html",
crossDomain:true,
beforeSend: function(xhr) {
xhr.overrideMimeType('text/plain;charset=UTF-8');
},
success:function(XMLHttpRequest,jqXHR ,data) {
//alert(data.title);
var starttitl=data.lastIndexOf('<title>');
var endtitl=data.lastIndexOf('</title>');
var title1=data.substring(starttitl+7,endtitl);
alert(title1);
},
error:function(errorStatus,xhr) {
alert("Error"+JSON.stringify(errorStatus));
}
});
}
</script>
</head>
<body>
<div id="siteloader">
<input type="button" onclick="getit()" />
</div>
</body>
</html>
source d'informationauteur Dhirender Tyagi
Vous devez vous connecter pour publier un commentaire.
Je commençais à cette erreur, et dans mon cas, il n'était pas en raison même de la politique d'origine. J'ai eu de l'aide de ce lien
Mon cas a été, j'ai eu un bouton de lien et je n'étais pas à l'aide d'e.PreventDefault()
ASPX
Javascript
même origine. le navigateur ne permet pas lorsque vous êtes sur
connecter:
C'est donc site1 ne peut pas voler le contenu de site2 et prétendre que c'est le contenu du site1. Des façons de contourner cela est JSONP (utilisation de google maps que je pense) et ayant
site2
fournir de la scro-têtes, mais de la scro ne sont pas pris en charge dans jQuery 1.* (peut-être pas dans le 2.* soit) parce que IE a quelques problèmes de mise en œuvre. Dans les deux cas, vous avez besoin site2 de coopérer avec votre site afin que votre site peut afficher son contenu.Si vous utilisez uniquement présent vous-même puis vous pouvez utiliser Firefox et installer le forcecors plugin. Pour l'activer, vous pouvez choisir view => barres d'outils => ajouter sur la barre et cliquez sur le texte "de la scro" dans le coin inférieur droit de l'écran.
J'obtenais l'erreur de mon appel Ajax, et qu'est-ce résolu pour moi, c'était seulement de la mettre dans le "return false".
J'ai été tester la lecture d'un
txt/XML
fichier pourjson/xml
les données et obtenu une erreur... les valeurs lues:Status[0] & readyState[0]
etStatusText[error];
Cela fonctionnait correctement sur Internet explorer mais pas sur Chrome car la de domaine doit être la mêmeC'est ce qu'il fixe
Aller à C:\WINDOWS\system32\drivers\etc\hosts
Mettre un nom à l'encontre de votre localhost application:
Maintenant, ouvrez le code dans google chrome, comme
http://SampleSiteName.com/YourAjaxFileName.htm
(si elle s'ouvre, cela signifie que vous avez entré un nom d'hôte correctement)accédez à votre
HTML
fichier et donner une adresse relative du fichier que vous essayez de lire (siFileToBeRead.txt
est dans le même dossier queYourAjaxFileName.htm
, alors il suffit d'entrer l'url: "/FileToBeRead.txt
")Maintenant votre code fonctionne sur Chrome.