0
의미-UI API의 결과를 표시하는 방법을 여기 내 자바 스크립트 코드내가 서버 에서 항목을 검색 할 여러 선택 요소에서 사용할 의미-UI API를 에 문제가
$('select[name=problems]').dropdown('destroy').dropdown({
minCharacters: 3,
saveRemoteData: false,
apiSettings: {
on: 'change',
url: '/ajax/contest.getProblemQuery/',
method: 'post',
data: {
argv: {
page: 0,
limit: 1000
}
},
beforeSend: function (settings) {
settings.data.argv.q = settings.urlData.query;
return settings;
},
beforeXHR: function (xhr) {
console.log('xhr');
console.log(xhr);
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
xhr.setRequestHeader('X-CSRFToken', $.cookie('csrftoken'));
return xhr;
},
onResponse: function (response) {
console.log('onresp');
if (response != 'F' && response.length != 0) {
var list = {results: [], success: true};
for (var i = 0; i < response.items.length; ++i) {
list.results.push({
value: response.items[i][0],
name: response.items[i][1] + ' - ' + response.items[i][2],
text: response.items[i][1] + ' - ' + response.items[i][2]
});
}
return list;
}
else
return {success: false};
},
successTest: function (response) {
return response.success || false;
},
onComplete: function (response, element, xhr) {
// always called after XHR complete
},
onSuccess: function (response, element) {
console.log('suc');
console.log(response);
// valid response and response.success = true
},
onFailure: function (response, element) {
console.log('fail');
},
onError: function (errorMessage, element, xhr) {
// invalid response
},
onAbort: function (errorMessage, element, xhr) {
// navigated to a new page, CORS issue, or user canceled request
}
}
});
내 문제입니다 :
- "{query}"를 URL에 넣을 때까지 요청을 보내지 않습니다.
- 요청을 보내고 데이터를 수신하면 모든 데이터는 브라우저 세션 저장소에 저장됩니다. 나는 'saveRemoteData'를 false로 설정했지만 각 요청 후에 저장소를 검사하고 그것에 대한 새 레코드를 찾았습니다.
- 응답을 받으면 sematic-ui.com/modules/dropdown.html#/examples [원격 콘텐츠] 에 나와있는 형식으로 변경하지만 드롭 다운 섹션에는 항목이 표시되지 않습니다.