Extjs를 사용하는 경우 내 웹 서비스가 json 문자열로 응답합니다. {"msg":"Some"}
그리드를 Some
으로 채 웁니다.Extjs 3.4 아약스 호출 후 모눈 채우기
Ext.onReady(function(){
var store = new Ext.data.JsonStore({
url: "my/json/url.json",
fields: [{name:"msg"}]
});
function StoreLoadCallback(records, operation, success){
if (success) {
console.log(records); // record is undefined
alert(records); // show 'undefined'
} else {
console.log('error');
}
}
function ajaxSearch_function(){
var query = Ext.getCmp('search').getValue();
store.load({
params: {query: query},
callback: StoreLoadCallback
});
}
var form = new Ext.FormPanel({
defaultType: 'textfield',
items: [{
fieldLabel: 'search',
name: 'search',
id: 'search'
}],
buttons: [{
text: 'Search', handler: ajaxSearch_function
}]
});
form.render('ajax-search_form');
var grid = new Ext.grid.GridPanel({
store: store,
columns: [{
id :'title',
header : 'title',
sortable : true,
dataIndex: 'title'
}],
});
grid.render('ajax-grid');
});
웹 서비스가 잘 응답하고, 나는 Curl을 테스트했습니다. 문제는 json 응답으로 표를 채우는 것입니다.
JavaScript가 서버에 올바르게 요청하는지 확인 했습니까? – pherris
예, success 부울 값은 true이지만 records 변수는 비어 있습니다. – user1066183
Java 웹 서비스의 경우 올바른 json을 만들려면 적절한 설정자가 있어야합니다. 적절한 설정자가 없으면 서버 응답이 올 바르더라도 json이 제대로 작성되지 않습니다. 이것은 문제 일 수 있습니다. –