jquery ajax readystate 0 responsetext status 0 statustext-Fehler
Ich erhalte die folgende Fehlermeldung: jquery ajax readystate 0 responsetext status 0 statustext error
bei ihm: url(http://www.tutorialspoint.com/prototype/prototype_ajax_response.htm)
aber es ist gut, wenn ich ihm url(localhost:""/embparse_page)
auf meinem localhost.
Habe ich versucht, mit den überschriften, die ich gefunden über eine Google-Suche, und ich habe beforeSend:""
auch, aber es funktioniert immer noch nicht.
Ich denke, das Hauptproblem ist: XMLHttpRequest cannot load http://www.tutorialspoint.com/prototype/prototype_ajax_response.htm. Origin "local server" is not allowed by Access-Control-Allow-Origin.
aber ich verstehe es nicht.
Kann mir jemand bitte erklären, das problem für mich, ich bin ganz neu hier.
<!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>
console.log
und drücken Sie F12 in Chrome) oder Strg + shift + k in firefox um die Konsole zu öffnen. Sie haben eine Menge von tools gibt, die Sie verwenden können, wie das setzen von breakpoints und prüfen von Anforderungen mit Ihrer Anfrage und Antwort-Header.danke sir für die Anregung
Die am besten bewerteten Antwort auf diese post ist ziemlich in die Tiefe: stackoverflow.com/questions/15005500/...
InformationsquelleAutor Dhirender Tyagi | 2013-10-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
War ich immer diesen Fehler, und in meinem Fall war es nicht wegen der same-origin-policy. Ich bekam etwas Hilfe von dieser link
Meinem Fall war, ich hatte einen link, und ich mich nicht mit e an.PreventDefault()
ASPX
Javascript
InformationsquelleAutor user007
same-origin-policy. die browser nicht erlauben, wenn Sie auf
herstellen:
Dies ist so site1 nicht stehlen Inhalte von standort2 und so tun, es ist der Inhalt, der site1. Möglichkeiten, um dieses ist JSONP (google maps verwenden, denke ich) und mit
site2
bieten cors-Header, sondern cors nicht unterstützt jQuery-1.* (vielleicht nicht in 2.* entweder), weil IE ein paar Probleme hat, es umzusetzen. In beiden Situationen müssen Sie site2 Zusammenarbeit mit Ihrer Website, so dass Ihre Website können die Anzeige seiner Inhalte.Wenn Sie nur diese selbst, dann können Sie Firefox und installieren Sie das forcecors plugin. Zu aktivieren, können Sie wählen Sie "Ansicht" => Symbolleisten => add-on-Leiste und klicken Sie auf den text "cors" in der rechten unteren Ecke des Bildschirms.
Ja, Sie können proxy-requesrs über den server, aber Sie sind gegen die ip-Eigenschaft der Website, Sie bekommen Ihre Inhalte aus. Einige große Supermarkt-Website Tat dies, und wenn die andere Website gefunden, die Sie fütterte die Supermarkt Website falsche info mit Bildern von abgeschnittenen Köpfen und dergleichen. Das war eine spielerische und effektive Art und Weise, könnte es auch sein, einen Rechtsanwalt auf Ihre Tür klopfen
Die proxyweiterleitung durch php ist eine option, wenn site2 nicht möchten, dass Ihre Website für die Anzeige seiner Inhalte oder will aber nicht wichtig genug ist, erstellen Sie eine JSON-API. Das kann nicht sein fertig in JavaScript, da JavaScript im browser ausgeführt und es ist der browser, erzwingt die same-origin-Richtlinie zum Schutz von Websites aus, die Ihre Inhalte genommen und vorgestellt, die auf anderen Websites. Zumindest mit der proxy-Methode site2 erkennen kann, viel Anfrage kommt von der gleichen IP.
ok sir habe es thnks für die so eine schöne Anregung
Same-Origin-Richtlinie nicht für den Schutz des geistigen Eigentums. Es ist insgesamt ein Sicherheits-feature. Mehr info hier: security.stackexchange.com/questions/8264/...
InformationsquelleAutor HMR
War ich immer diesen Fehler aus meiner Ajax-Aufrufs, und was für Feste es war für mich nur darum, in der 'return false'.
InformationsquelleAutor BlooSki
War ich Tests Lesen eines
txt/XML
- Datei fürjson/xml
Daten und bekam eine Fehlermeldung... die Werte Lesen:Status[0] & readyState[0]
undStatusText[error];
Dies war die Arbeit erfolgreich auf Internet explorer, aber nicht auf Chrome, weil der - Domäne benötigt, um die gleicheDies ist, was es behoben
Gehen C:\WINDOWS\system32\drivers\etc\hosts
Einen Namen gegen Ihre localhost-app:
Öffnen Sie nun den code in chrome als
http://SampleSiteName.com/YourAjaxFileName.htm
(wenn es öffnet, bedeutet es, dass Sie eingegeben haben, müssen Sie einen host-Namen korrekt)gehen Sie zu Ihrem
HTML
Datei, und geben Sie die relative Adresse der Datei, die Sie versuchen zu Lesen (wennFileToBeRead.txt
ist im gleichen Ordner wieYourAjaxFileName.htm
, dann geben Sie einfach die url: "/FileToBeRead.txt
")Nun dein code funktioniert auf Chrome auch.
Auf stackoverflow, um eine neue Zeile in deinem post, müssen Sie entweder verwenden
<br>
oder machen 2 neue Linien. Siehe mein edit.Hoppla sorry, es ist spät für mich
InformationsquelleAutor WebCMSProjects