Ich versuche, einen JSONP-Aufruf von einem Dropbox Öffentlichen Ordner aus einer HTML-Seite auf einer anderen Website zu wrangle (daher brauche ich Jsonp, um Cross-Site-Probleme zu vermeiden).Ajax folgt nicht Dropbox Redirect
Mein JavaScript-Code beschwert sich, weil es HTML anstelle von JSON erhält.
$.ajax({
url: "https://www.dropbox.com/s/fzqhnr39fq45ijh/gen_info.json?dl=0",
jsonp: "callback",
dataType: "jsonp",
// Work with the response
success: function(response) {
console.log(response); // server response
}
});
Wenn ich die genaue URL aus der Firebug-Konsole kopieren und versuchen, dass mit wget ich die richtigen Dateiinhalte zu bekommen. Wie Sie jedoch sehen können, findet eine Weiterleitung statt. der Inhalt der Debug-Fenster legt nahe, dass Ajax versucht, den HTML-Code der ersten URL angezeigt werden und folgende nicht die Umleitung
$wget -O try.txt 'https://www.dropbox.com/s/fzqhnr39fq45ijh/gen_info.json?dl=0&callback=jQuery31100535301754706522_1475816277772&_=1475816277773'
--2016-10-07 15:35:25-- https://www.dropbox.com/s/fzqhnr39fq45ijh/gen_info.json?dl=0&callback=jQuery31100535301754706522_1475816277772&_=1475816277773
Resolving www.dropbox.com... 108.160.172.238
Connecting to www.dropbox.com|108.160.172.238|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://dl.dropboxusercontent.com/content_link/OCqme2gZH9FE2dTWU3DATOHjkk3V7PpjPZZAp6N6hK7cztzhiRTflEh27aFDA8bK/file [following]
--2016-10-07 15:35:26-- https://dl.dropboxusercontent.com/content_link/OCqme2gZH9FE2dTWU3DATOHjkk3V7PpjPZZAp6N6hK7cztzhiRTflEh27aFDA8bK/file
Resolving dl.dropboxusercontent.com... 45.58.69.5
Connecting to dl.dropboxusercontent.com|45.58.69.5|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2698 (2.6K) [text/plain]
Saving to: `try.txt'
100%[======================================================================>] 2,698 --.-K/s in 0s
2016-10-07 15:35:28 (426 MB/s) - `try.txt' saved [2698/2698]
Ich habe den Rat von dropbox jsonp file und folge den json wie so aber die Ajax-Pre-wrapped Anruf kommt nie auf diese Seite.
callback({"HALLWF1": ["2016/10/07 15:05:00", "Hallett 1 Wind Farm", "SA1", "Wind", "-33.300303", "138.726975", 77.5, 94.5])
Gibt es eine Möglichkeit Ajax zu zwingen, die Dropbox umleiten oder sollte ich aufgeben und wählen Sie einen anderen Host für die json zu folgen? Browser ist Firefox 45.2.0, wenn das einen Unterschied macht.
auch in neuester Chrom getestet, da der Fehler
Refused to execute script from 'https://www.dropbox.com/s/fzqhnr39fq45ijh/gen_info.json?dl=0&callback=jQuery311040161567467680626_1475817828807&_=1475817828808' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.
Funktioniert prima aber ich musste 'jsonpCallback:" callback ",' zu meinem Ajax-Aufruf hinzufügen, um "Callback not defined" -Fehler zu vermeiden. Siehe https://api.jquery.com/jQuery.ajax/ – rw950431