2015-04-02 3 views
2

Я установил RESTful-сервер, и я могу получить простую строку с моим Chrome или IE, используя этот URL: «http://localhost:8080/WebService/RESTful/getString»В дротике HTTPRequest GetString всегда ошибка

Но при использовании дротика, он всегда возвращает сообщение об ошибке:

"[object XMLHttpRequestProgressEvent]" 

от метода onError() обратного вызова, Я уверен, что сервер возвращает строку «текст/простой» MIME типа в Java.

Вот код:

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); 
}); 
} 

Кто может мне помочь?

+2

вы сообщаете 'XMLHttpRequestProgressEvent', который содержит фактическую ошибку. Осмотрите 'e' в отладчике вашего браузера, чтобы увидеть настоящую проблему. –

+0

Как проверить e в браузере? извините, я новичок в дротике. – dylb1973

+1

В большинстве браузеров есть консоль отладки - Firefox (Ctrl-Shift-S), IE (F12), Chrome (Ctrl-Shift-I). Затем вы можете разместить точку останова в своей функции 'onError' и проверить все переменные, которые находятся в области видимости. –

ответ

1

Если вы пытаетесь найти ресурсы с другого сервера, кроме того, на котором была загружена ваша страница, этот сервер должен возвращать заголовки CORS, иначе ваш браузер откажется извлечь этот другой сервер. В зависимости от вашего сервера, как это можно настроить или добавить.

Смотрите, например
- How do you add CORS headers in Redstone interceptor?
- CORS with Dart, how do I get it to work?

Смежные вопросы