extjs form.submit для загрузки файла — URL передается неправильно

#extjs #asp.net-web-api #form-submit

#extjs #asp.net-web-api #форма-отправить

Вопрос:

Я пытаюсь загрузить файл с помощью нажатия кнопки с сервера. Похоже, что мой form.submit не отправляет мой URL-адрес при публикации моего проекта ExtJS с использованием IIS. Когда я запускаю проект из Visual Studio, он работает просто отлично, но когда я публикую проект, просматривая fiddler, кажется, что у него нет параметров или правильного URL.

Кто-нибудь знает, что я делаю неправильно?

         var me = this;
    var form = Ext.create('Ext.form.Panel', {
        standardSubmit: true,
        method: 'GET',
        url: 'http://xxx/xxx/api/excel/CreatePosSheet/'
    });

    form.submit({            
        params: {
            cName: me.selectedClientDisplayField.getValue(),
            calcMethod: 'settle',
            username: me.unameGlobal,
            cid: me.cidGlobal
        }
    });
  

введите описание изображения здесь

Я заметил, что URL также неверен, я специально заявляю
url: ‘http://111.111.111.11/myServiceV003/api/excel/CreatePosSheet /
но в fiddler я вижу /mainofmyproject/.js .

Кроме того, когда я меняю standardSubmit на false, URL передается правильно, но всплывающее окно загрузки, которого я жду, никогда не появляется.

Ответ №1:

Вообще говоря, .js ошибка 404 связана с тем, что вам не хватает требования к компоненту, на который ссылается ваш код (или код, на который ссылается в нем) только xtype . Если вы проверите консоль браузера вашего приложения для разработки, вы должны увидеть сообщение:

[W] [Ext.Loader] Синхронная загрузка ‘Ext.form.action.StandardSubmit’; Рассмотрите возможность добавления Ext.requires(‘Ext.form.action.StandardSubmit’) выше Ext.onReady()

Потому что, если вы хотите использовать форму с standardSubmit:true , вам нужно добавить requires:['Ext.form.action.StandardSubmit'] в файл, в котором вы создаете форму (нигде не документировано …).

Комментарии:

1. хорошо, итак, странная вещь в том, что я нигде не видел сообщения об ошибке, но вы были правы !… Я добавил требуемую строку, и это сработало! Спасибо!!!!