jQuery ajax POST von lokale Datei, um den Zugriff auf eine cross-domain funktioniert nicht
Wie der Titel schon sagt, ich versuche, auf (POST) mithilfe von jQuery-AJAX-Aufruf einer web-url, http://host:port/...
oder http://localhost:8080/...
aus einer lokalen HTML-Datei c:\home.html
. Ich kann nicht ankommen es zu wirken.
Habe ich Google und sah auch einige Fragen hier, aber ich kann nicht ankommen es zu wirken. Ich brauche hier etwas Hilfe. Hier ist, was ich bisher ausprobiert habe.
- dataType: jsonp
- crossDomain: true
- Einstellung der header in meiner Antwort:
response.setHeader("Access-Control-Allow-Origin", "*");
Keiner der drei Browser arbeiten - IE, FF oder Chrome. Die Anforderung wird nie den server erreichen. Hier sind einige der Fehler, die ich bin zu sehen.
- Kein Transport (IE), wenn nicht jsonp verwendet wird.
- NS_BINDING_ABORTED /Fehler beim laden der Inhalte (NS_ERROR_DOCUMENT_NOT_CACHED) in FF
Dies ist mein code. Ich würde jede Hilfe zu schätzen wissen. Ich bin mit jquery-1.8.2.min.js
.
var http_host = "http://localhost:8080";
function su (pc, p) {
var suUrl = http_host + "/ps/api/v2/authorize.json";
$.ajax({
type: 'POST',
url: suUrl,
data: {
phone_cell: pc,
password: p,
},
dataType: "json",
crossDomain: true,
success: osu,
error: oe
});
return false;
}
function osu (d) {
console.log(d);
}
function oe(xhr, ts, et) {
alert("ServerError: " + et);
}
Ein Beispiel wäre eine perfekte Zeiger.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich nehme meinen code bekam Durcheinander w/all den verschiedenen Lösungen, die ich versucht habe. Ich war schließlich in der Lage, get it to work w/setzen der header (die Lösung, die empfohlen wurde und für andere gearbeitet). Alles, was ich zu tun hatte, um es zu arbeiten ist, fügen Sie das folgende zu meinem RESTLICHEN service-Antwort.
Update:
Dachte ich, ich dachte mir, diese habe ich aber nicht. Es ist mehr als nur die Einstellung der Kopfzeile. Sowieso, in meiner spezifischen situation. Ich habe versucht meine app (html, js) von der Festplatte, die speziell auf Chrom-und versuchen, Zugriff auf web-Dienste auf der cloud.
Hier ist, wie ich endlich das problem gelöst. Ich begann die chrome w/die folgenden Parameter ein.
Wie ich bereits erwähnt, diese app ist wirklich eine desktop-Anwendung, die ausgeführt wird als Teil des chromium embedded framework.
Dank an alle für Ihren input.
Können Sie nicht machen eine cross-domain-Anfrage von einer lokalen Datei, weil es nicht auf eine domain. Sie müssen host
C:\home.html
auf einem lokalen webserver-Instanz, um für Sie zu arbeiten.