extjs 응용 프로그램에 콤보 상자 구성 요소를 사용하고 있습니다. json을 통해 목록을로드하고 싶습니다. 하지만 콤보 상자를 클릭하면 목록이 표시되지 않습니다. 이걸 도와주세요. 다음Ajax 데이터가 콤보 상자에로드되지 않습니다
이아약스 호출입니다 :
Ext.Ajax.request({
url: 'data/vgroup.json',
method: 'Get',
timeout: 9000,
success: function(response, opts) {
var device = Ext.decode(response.responseText);
var device_records = new Array();
for(var itr=0; itr < device.vgroup.length; itr++) {
var record = new Array();
record[0] = device.vgroup[itr].name;
//alert(device.vgroup[itr].name);
device_records[itr] = record;
}
vgfrmextension_device = new Ext.data.ArrayStore({
fields: ['name'],
data : device_records
});
},
failure: function(response, opts) {
Ext.MessageBox.alert('Failure', "Link not found");
}
});
다음은 구성 요소입니다
{
vgroup: [
{
'id': 'team1',
'name': '100G',
'size': '5646546546',
'available': '545644541',
'player': 'avi',
'status': 'Good'
},
감사합니다.하지만 json을 사용하여 PHP가 아닌 목록 항목을 호출합니다. MVC 구조에서 세부 답변을 제공 할 수 있다면 정말 좋을 것입니다. Extjs4를 사용하고 있습니다 – Hemant
프록시 연결을 변경해야한다고 생각합니다. 프록시 URL을 'data/vgroup.json'으로, 루트를 'vgroup'으로 변경하십시오. – Derek
@Hemant PHP는 데이터 교환 형식이 아니라 다른 사람들도 할 수있는 서버 측 프로그래밍 언어입니다. [JSON 제작] (http://php.net/manual/en/function.json-encode.php). JSON 파일 또는 PHP에서 생성 된 "JSON 파일"에서 데이터를로드하는지 여부는 중요하지 않습니다. – Alexander