我建立了一个RESTful服务器,我可以使用以下网址获取Chrome或IE的简单字符串:“http://localhost:8080/WebService/RESTful/getString”
但是在使用Dart时,它总是会返回一条错误消息:
"[object XMLHttpRequestProgressEvent]"
从onError()
回调方法,
我确信服务器在Java中返回一个带有“text / plain”MIME类型的字符串。
以下是代码:
import 'dart:html';
void main() {
HtmlElement btn = document.body.querySelector("#btn");
btn.onClick.listen(onClick);
}
void onClick(Event v) {
var url = "http://localhost:8080/WebService/RESTful/getString";
HttpRequest.getString(url).then((str) {
window.alert(str.toString());
}, onError: (e) {
window.alert(e);
});
}
谁能帮帮我?
答案 0 :(得分:1)
如果您尝试从其他服务器获取资源而不是从您的页面加载的服务器,则此服务器需要返回CORS标头,否则您的浏览器拒绝从其他服务器获取。 这取决于您的服务器如何配置或添加它。
参见例如
- How do you add CORS headers in Redstone interceptor?
- CORS with Dart, how do I get it to work?