Отправить форму Extjs с помощью метода PUT

#extjs

#extjs

Вопрос:

Возможно ли отправить форму extjs с помощью метода HTTP PUT? Я хочу обновить запись в Rails 3, которая принимает метод PUT для обновления.

Вот мой код:

 formData.submit({       url: "/layers/"   param.layer_id   "/rules_property_thresholds/"   param.id ,
        method:'PUT',
        params: param,
        waitTitle: "Please wait...",
            waitMsg: 'Updating rule property threshold...',
                    .........
             });
  

Я размещаю метод PUT, но запрос все еще выполняет POST, когда я проверяю Firebug (Net).
Спасибо

Ответ №1:

Поддерживается только HTML5 PUT напрямую через форму. Формы до сих пор поддерживали только GET amp; POST .

На данный момент вам нужно использовать ajax для отправки формы через PUT :

 Ext.Ajax.request({
        url: 'your url', // you can fix a parameter like this : url?action=anAction1
        method: 'PUT',
        params: {
            myField1: myField1.getValue()
            // all your params.... 
        }
        success: function (result, request){
            alert('Succesfully added '   result.responseText);
        },
        failure: function (result, request){
            alert('Error in server'   result.responseText);
        }
 );
  

Ответ №2:

Я не пробовал это, но, насколько я понимаю, может сработать следующее:

 myForm.on('beforeaction', function(form, action) {
    action.options.method = 'PUT';
});
  

Ответ №3:

я ничего не знаю о rails…
но я привык к такому в couchdb

 var a = {
    _id : "gordon",
    xtype : "user"
}

Ext.Ajax.request({
    method : "PUT",
    url: "/db/egy",
    jsonData : a,
    success : function(){
    console.log("aaa");
    }
});