Dojo FilterSelect не заполняется JsonRest

Привет у меня есть следующее

 <script type='text/javascript'>if (dijit.byId('assignedUserId') != undefined) {
   dijit.byId('assignedUserId').destroy();}require([  'dojo/store/JsonRest',    
 'dijit/form/FilteringSelect',  'dojo/domReady!'], function(JsonRest, FilteringSelect){   
  var jsonRest =      new JsonRest({      target: 'Welcome.do?call=JS&actionRefId=142'    });
  var filteringSelect = new      FilteringSelect({        id: 'assignedUserId',        name: 
 'assignedUserId',        value: '25',             store: jsonRest,        searchAttr: 'name', 
 labelAttr: 'label'    },      'assignedUserIdSelect').startup();});
 </script>
 <input id='assignedUserIdSelect' name='value(assignedUserId)'/>

Когда я начинаю вводить фильтр, он вызывает URL-адрес и возвращает

 {"identifier": "id", "label": "label", "items": [{ "name": "", "id": "0" , "label": "" },{   
 "name": "Lea M Test", "id": "26" , "label": "Lea M Test" }]}

но ничего не заполняется в выборе фильтрации - какой формат json должен быть возвращен сервером?


person Greg C    schedule 13.12.2014    source источник


Ответы (1)


Попробуйте вернуть массив объектов. Быстрый тест состоит в том, чтобы изменить вашу цель JsonRest, чтобы она была простым файлом php. Если ваш сервер обрабатывает, например, файлы '.php', создайте файл с именем вроде Welcome.php со следующим содержимым:

<?php
  $data = '[{ "name": "Abi Normal", "id": "0" , "label": "Abi Normal" },{"name": "Lea M Test", "id": "26" , "label": "Lea M Test" }]';
  echo $data;
?>

Затем измените цель JsonRest на Welcome.php.

person maurice    schedule 13.12.2014