私はこのCORSの問題に遭遇しましたが、jsonpとcallback =を使用してそれを克服することができましたか?以下に提案するように: XmlHttpRequestエラー:OriginnullはAccess-Control-Allow-Originでは許可されていません Chromeでは'--allow-file-access-from-files'もオンになっており、これをGoogleAppEngineでホストしています。 Firefox経由でもロードしました。
ただし、(CoffeeScriptを介して)javascriptでクラスを使用し始めたため、classメソッドを使用するとこのエラーが発生します。以下のclass/instanceメソッドを使用しないことで、この問題を解決できることに注意してください。
問題:グーグルマップにいくつかの場所を表示しようとしています。Google Fusion Table APIを呼び出して、データを取得して表示します。クラスメソッドとしてではなく、通常のメソッドのようにdataHandler()メソッドを呼び出すと、正常に機能します。クラスメソッドのように呼び出すと、ローカルで次のエラーが発生します:「Originfile://はAccess-Control-Allow-Originで許可されていません。」Chromeでローカルに試しています。Google App Engineでデプロイ/ホストすると、同じ行「400(Bad Request)」でこのエラーが発生します
ありがとう
var myMap = new MyMap();
google.load('visualization', '1.0', {"callback":myMap.initialize});
class MyMap
initialize: -> //Javascript equivalent: MyMap.prototype.initialize = function() {
...
jqxhr = $.get(encodeURI(url), @dataHandler, "jsonp") // Does not work.
//Javascript equivalent: jqxhr = $.get(encodeURI(url), this.dataHandler, "jsonp");
jqxhr = $.get(encodeURI(url), dataHandler, "jsonp") // This works without the @
//Javascript equivalent: jqxhr = $.get(encodeURI(url), dataHandler, "jsonp");
dataHandler: (d) -> // Does not work. Javascript equivalent: MyMap.prototype.dataHandler = function(d) {
dataHandler= (d) -> // This works. Javascript equivalent: dataHandler = function(d) {
ローカルエラー:
XMLHttpRequestはhttps://www.googleapis.com/fusiontables/v1/query?key=AIzaSyDjfc6i-&sql=SELECT%20Lat,%20Lng%20from%201Stisvr...&callback=?を読み込めませ ん。Origin file://はAccess-Control-Allow-Originでは許可されていません。
ホスト/サーバーエラー:
GET https://www.googleapis.com/fusiontables/v1/query?key=AIzaSyDjfc6i-&sql=SELECT%20Lat,%20Lng%20from%201Stisvr...&callback=?400不正な要求)