Я пытался проанализировать возвращение обработчика успеха IronAjax и установить ответ на экземпляр Map. Кажется, это не так.IronResponse вызывает объект JsObjectImpl, но я не могу найти документы класса на нем
Моего HTML Markup является:
<iron-ajax id="myAjaxId" auto
url="http://localhost:12345/test_server/v1/daily"
handle-as="json"
on-response="handleResponse" on-error="handleError"></iron-ajax>
Моего Dart Кодекс:
void handleResponse(CustomEventWrapper cew, IronRequest ir){
print("inside handleResponse");
var data = ir.response; // <-- is type JsObjectImpl
print("data");
print(data);
if (data == null) return;
print ("About to set rows");
List<Map> rows = data.containsKey("data") ? data["data"] : [];
print("Variables are Set locally");
$['myDatagrid'].render();
}
@reflectable
String camelToFormal (String input){
String out;
RegExp regex = new RegExp("([A-Z])");
out = input[0].toUpperCase() + input.substring(1).replaceAllMapped(regex, (Match m) => " ${m[1]}");
return out;
}
@reflectable
void handleError(CustomEventWrapper cew, IronRequest ir){
print("____Error:____");
print(ir.response);
}
Ошибки я получаю:
type 'JsObjectImpl' is not a subtype of type 'Map' of 'other'.
Я не был уверен, что если мне нужно запустить новообращенный над ним, хотя тип возврата, установленный IronAjax, был json
Итак, поскольку ir.response
будет либо установленным, либо нулевым, я проверю, является ли оно первым первым. строка var data
в responseHandler
в настоящее время устанавливает, но я также попытался сделать что-то вроде: Map data = new Map.from(ir.response);
, который также не работает.
Несмотря на то, что это, как говорят, обрабатывается как JSON, и возвращает подтвержденный jslint аргумент, кажется, есть проблемы, чтобы преобразовать его в соответствующий экземпляр карты.
Согласно Polymer IronRequest по адресу: https://elements.polymer-project.org/elements/iron-ajax?active=iron-request в нем говорится, что responseis *, обработанное тело реакции. Я ошибаюсь, как это правильно настроено, или я чего-то не хватает?
Вы можете попробовать «объект» вместо карты на свойстве, а затем использовать «convertToDart». Не уверен, что это приводит к «карте», но стоит попробовать, я думаю. См. Также http://stackoverflow.com/questions/33448961/polymer-1-0-iron-list-selection –
Что делает: convertToDart do? im пытается найти документы на нем – Fallenreaper
Я не знаю о документах. Я думаю, что это должна быть деталь реализации, которая протекает иногда. Это, вероятно, нуждается в исправлении в Dart IronAjax. –