我正在使用dart的html库的HttpRequest类相对加载一个json文件。在Dart编辑器中,它工作正常。使用带有JetBrains chrome扩展的intelliJ的dart插件我收到......
XMLHttpRequest cannot load file:///C:/project/web/path/to/my/file.json. Cross origin requests are only supported for HTTP. :0
Exception: Error: NETWORK_ERR: XMLHttpRequest Exception 101
Stack Trace: #0 HttpRequest.send (file:///E:/b/build/slave/dartium-win-full-trunk/build/src/build/Release/obj/global_intermediate/webkit/bindings/dart/dart/html/HttpRequest.dart:33:3)
我正在传递相对网址,在检查网址时我看到了: “路径/到/我/ file.json”
这是裸骨测试。
import 'dart:html';
main(){
Loader loader = new Loader();
loader.load("someFile.json");
}
class Loader {
load(String url) {
var request = new HttpRequest();
request.open('GET', url, true);
request.send();
}
}
答案 0 :(得分:0)
我不确定为什么它在一个上下文中工作而不是另一个上下文,但如果你没有使用GET
,基本上不能只是http
一个文件。有关这种情况的详细信息,请参阅这些内容。我从来没有使用过IntelliJ,所以不幸的是,我无法谈论那个背景的具体细节。
http://stackoverflow.com/questions/8449716/cross-origin-requests-are-only-supported-for-http-but-its-not-cross-domain
http://stackoverflow.com/questions/3102819/chrome-disable-same-origin-policy
http://stackoverflow.com/questions/10752055/cross-origin-requests-are-only-supported-for-http-error-but-im-loading-a-co