Проблема заключается в изменении типа прокси на ajax в Ext.data.Store на ExtJs - PullRequest
0 голосов
/ 05 сентября 2018

Моя проблема, когда я меняю тип в Магазине на 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)
....

Ошибка в браузере enter image description here

Почему может возникнуть эта проблема?

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...