Моя проблема, когда я меняю тип в Магазине на ajax.
Магазин в моем приложении выглядел так:
var urlRoot = 'data?model=Operation&method=';
Ext.define('BookApp.store.BookStore', {
extend: 'Ext.data.Store',
model: 'BookApp.model.Book',
autoLoad: true,
storeId: 'BookStore',
proxy: {
type: 'jsonp',
noCache: false,
api: {
create: urlRoot + 'Create',
read: urlRoot + 'Read',
update: urlRoot + 'Update',
destroy: urlRoot + 'Destroy'
},
reader: {
type: 'json',
metaProperty: 'meta',
rootProperty: 'data',
idProperty: 'id',
totalProperty: 'meta.total',
successProperty: 'meta.success'
},
writer: {
type: 'json',
encode: true,
writeAllFields: true,
rootProperty: 'data',
allowSingle: false
}
}
});
Когда я меняю тип магазина на ajax
.....
proxy: {
type: 'ajax',
.....
тогда при загрузке приложения я получаю ошибку 500 (Internal Server Error)
Я знаю, что тип jsonp необходим для загрузки данных из другого домена, в котором запущено мое приложение, но у меня есть все приложение и база данных, которые находятся на одном локальном компьютере, поэтому я установил тип ajax. Но с этим типом возникает проблема.
На стороне сервера ответ следующий:
...
# Form the answer
dict_out= {"data" : list, "meta": { "success": "true", "msg": "", "total": str(count) }}
# Translate it into the format Json
jsonFormat = json.dumps(dict_out)
# Add to the answer callback
read_out = dict['callback'] +'(' + jsonFormat + ')'
return HttpResponse(read_out)
....
Ошибка в браузере
Почему может возникнуть эта проблема?
Спасибо