JQuery-AJAX-Fehler Fehler beim ausführen senden des xmlhttprequest
Ich versuche auszuführen, bing-map-REST-API mithilfe von JQuery-AJAX-Methode. Die Rest-URL " zeigt den korrekten Ergebnisse im browser. Aber wenn ich ausführen gleichen URL mit der AJAX-Methode von JQuery-es scheint nicht funktioniert und ich erhalte folgende exception:
"Netowrk error: failed to execute senden des xmlhttprequest"
Hier ist mein code:
$.ajax({
type: 'GET',
async: false,
dataType: 'text',
url: 'http://dev.virtualearth.net/REST/v1/Locations/47.64054,-122.12934?includeEntityTypes=Address&includeNeighborhood=0&include=ciso2&key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
success: function (result) {
alert("working");
},
error: function (xhr, ajaxOptions, thrownError, request, error) {
alert('xrs.status = ' + xhr.status + '\n' +
'thrown error = ' + thrownError + '\n' +
'xhr.statusText = ' + xhr.statusText + '\n' +
'request = ' + request + '\n' +
'error = ' + error);
}
});
Wenn ich die gleiche URL im browser kann ich sehen das Ergebnis im JSON-format.
Bitte um Hilfe!!!!
Verwenden dataType : 'JSON' in der ajax-call
Nur ein Gedanke hier, aber haben Sie versucht, das entfernen der asyn = false? Vielleicht haben Sie andere ajaxcalls, die ausgeführt werden, bevor diese beendet ist, die Ihnen dieses problem. Edit: Nach Lesen @sunil coment oben erkannte ich, dass seine Antwort ist eher der soloution zu Ihrem problem. Zwar verlasse ich den coment als Hinweis, dass Sie am Ende mit Problemen, wenn Sie async = false, während Sie mehrere ajax-Aufrufe.
Ich habe geändert, dataType, JSON, aber noch immer die gleichen Fehler. Irgendwelche Gedanken?
ajax würde nur funktionieren, auf dem gleichen server bedeutet, wenn Sie unterschiedliche url, die verschiedenen anderen server als Ihre vorhandenen server, dann würde es nicht funktionieren
Sie können teilen Sie es auf jsfiddle? Es scheint schwierig, wie Sie Ihren API-key in einem Gespräch,aber ich kann nicht, Sortieren Sie es aus, indem Sie schauen, um Ihren code nur
Nur ein Gedanke hier, aber haben Sie versucht, das entfernen der asyn = false? Vielleicht haben Sie andere ajaxcalls, die ausgeführt werden, bevor diese beendet ist, die Ihnen dieses problem. Edit: Nach Lesen @sunil coment oben erkannte ich, dass seine Antwort ist eher der soloution zu Ihrem problem. Zwar verlasse ich den coment als Hinweis, dass Sie am Ende mit Problemen, wenn Sie async = false, während Sie mehrere ajax-Aufrufe.
Ich habe geändert, dataType, JSON, aber noch immer die gleichen Fehler. Irgendwelche Gedanken?
ajax würde nur funktionieren, auf dem gleichen server bedeutet, wenn Sie unterschiedliche url, die verschiedenen anderen server als Ihre vorhandenen server, dann würde es nicht funktionieren
Sie können teilen Sie es auf jsfiddle? Es scheint schwierig, wie Sie Ihren API-key in einem Gespräch,aber ich kann nicht, Sortieren Sie es aus, indem Sie schauen, um Ihren code nur
InformationsquelleAutor Azeem | 2015-09-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie bereits in der anderen Antwort, die Sie benötigen, um den Datentyp jsonp. Allerdings sollte es eine GET-Anfrage an den Location service als cross-domain-POST-requests werden nicht unterstützt. Sie können finden, dass ein guter blog-Beitrag über die Verwendung der Bing Maps-services mit verschiedenen JavaScript-frameworks wie jQuery hier: https://blogs.bing.com/maps/2015/03/05/accessing-the-bing-maps-rest-services-from-various-javascript-frameworks/
InformationsquelleAutor rbrundritt
Hatte ich zu Dekodieren Sie Ihre Frage ein wenig. Es sieht aus wie Sie mit MS' virtualearth.net/Bing geolocation
find by point
API:https://msdn.microsoft.com/en-us/library/ff701710.aspx
Lektüre Ihrer Dokumentation ein wenig, es sieht aus wie Sie versuchen, zu senden, lat/long-Koordinaten und erhalten Sie Adresse Informationen zurück. Sie haben die
includeNeighborhood
- flag auf " 0 " in das URL, was bedeutet, dass Sie nicht, dass Informationen (nicht sicher, ob das beabsichtigt war).Als für die AJAX-jQuery-Aufruf, ich denke der Fehler ist in der call-format. Es ist wohl eine Art
POST
sind, da Sie die Veröffentlichung von Informationen, um die Bing-API und dann erhalten Ergebnisse. EinGET
verlangen würde für eine read-only API.Beispiel, wie ich das schreiben würde rufen (Hinweis: die
type
unddataType
Parameter). Senden SieJSONP
anstelle von JSON-wenn Sie möchten, verwenden Sie eine callback-Funktion mit den Daten, die Sie bekommen (wahrscheinlich).xrs.status = 200 thrown error = Error: jQuery1113033110253675520873_1442236288411 was not called xhr.statusText = success request = undefined error = undefined
Manchmal, der Fehler ist im Zusammenhang mit einer endpoint data response mismatch: stackoverflow.com/questions/14255502/...
Der Endpunkt kann nicht akzeptieren, JSONP - versuchen JSON statt.
Versucht, JSON, und bekam diese Antwort:
xrs.status = 0 thrown error = xhr.statusText = error request = undefined error = undefined
Können Sie aktualisieren die Frage, mit der überarbeiteten Aufruf der Fehler??? Schwer zu Lesen, hier unten.
InformationsquelleAutor staypuftman
Ich vor dem gleichen problem, der
Failed to execute 'send' on 'XMLHttpRequest'
(erschien nur in Chrome) und schließlich gefunden, daß das problem auf derasync: false
option verwendet.Ich nehme an, dieser Fehler entsteht, weil versucht, um synchrone Anforderung an die ausländischen domains, die nicht unterstützt wird, wie bereits in die jQuery-Dokumentation:
InformationsquelleAutor Lluís Suñol