Как разместить данные extjs из формы на сервер? - PullRequest
0 голосов
/ 30 октября 2018

Я понял, как получить данные с сервера на приложение. Теперь я сталкиваюсь с заданием POST. У меня есть форма, и я хочу отправить данные полей на сервер, нажав на кнопку.

Я пытаюсь использовать это:

{//some controllercode

          xtype: 'button'  
          text: 'save',
          ui: 'confirm',
          scope: this,
          handler: function() {
              Ext.Ajax.request({
                  url:'/api/renter/',
                  method: 'POST',
                  params: {
                      ReplaceAllRefs: true
                  }
              })

              }
          }

что параметр Ext.Ajax определяет данные, которые будут публиковаться на сервере через url? Я могу использовать этот класс для задачи POST или не лучший способ?

Ответы [ 3 ]

0 голосов
/ 31 октября 2018

Если вы хотите опубликовать данные формы, вы можете использовать метод form.submit вместо Ext.ajax ..

 var form  = your_form_panel.getForm();
 if(form.isValid()){ //isValid() will validate all your form fields 
      form.submit({
            url : '/api/renter/',
            params: params,    //additional parameters can be send in object
            success: function(form, o){

            },
            failure: function(form, o){

            }
      });
 }
0 голосов
/ 12 ноября 2018

В конце концов, я использовал этот блок кода:

{
              text: 'save',
              ui: 'confirm',
              handler: function() {
                	
                	var dataup3 = this.up().items.items[0]; 
//get form's fields level
                	var dataSet3 = dataup.getValues();
                	
                	Ext.Ajax.request({
                		url:'/api/cutarea/',
                		method: 'POST',
                		params: dataSet3
                	})
                }
}
Спасибо за ответы!
0 голосов
/ 31 октября 2018

Посмотрите документацию ExtJs Ext.Ajax.request для опции jsonData.

jsonData: объект / строка

Данные JSON для использования в качестве поста. Примечание: это будет использоваться вместо параметров для данных публикации.
Любые параметры будут добавлены к URL.

Так что ваш Ajax-запрос должен выглядеть так:

Ext.Ajax.request({
    url:'/api/renter/',
    method: 'POST',
    jsonData: {
        ReplaceAllRefs: true
    }
});

Если вы хотите отправить данные GET и POST, вы можете сделать это с помощью params и jsonData.

Ext.Ajax.request({
    url:'/api/renter/',
    method: 'POST',
    params: {
        someGetParam: 'value'
    },
    jsonData: {
        ReplaceAllRefs: true
    }
});
...