Extjs 4.2: как правильно отправлять параметры в Ext.Аякс.Запрос POST
Я должен сделать сообщение из моего скрипта ExtJs, чтобы удалить что-то из моей БД:
Ext.Ajax.request({
url: 'deleteRole.html',
method: 'POST',
headers: {'Content-Type': 'text/html'},
waitTitle: 'Connecting',
waitMsg: 'Sending data...',
params: {
"rolename" : rolename
},
scope:this,
success: received,
failure: function(){console.log('failure');}
});
когда сообщение отправляется, я вижу в firebug имя роли в шрифте, но не как param. Я хотел бы показать вам еще один пост (сделанный с spring:form) относительно регистрации пользователя. Если я проверю сообщение, я могу увидеть следующее:
изображение http://s2.subirimagenes.com/otros/previo/thump_8498731post.jpg
и я могу получить параметры в моем контроллере с помощью @RequestParam.
но в сообщении, что у меня есть проблемы, я не вижу часть параметров, я могу видеть только часть шрифта (Fuente):
image2 http://s2.subirimagenes.com/otros/previo/thump_8498737delete.jpg
как следствие, мой контроллер spring не обнаруживает никаких параметров. Что-то не так в моем посте?
спасибо
3 ответов
проблема в том, что вы используете строку headers: {'Content-Type': 'text/html'},
в вашем первоначальном вопросе. Это установило бы содержимое в text / html вместо содержимого, являющегося данными post.
Я решил его со следующим кодом:
var rolename = 'myRol';
Ext.Ajax.request({
url: 'deleteRole.html',
method: 'POST',
params: {
rolename: rolename
},
success: received,
failure: function(){console.log('failure');}
});
Я использую это в приложении Sencha Touch. Мне пришлось добавить дополнительную конфигурацию под названием jsonData и сделать ее истинной, иначе ничего не передается на мой url-адрес конечной точки.
Ext.Ajax.request({
url: endpoint,
method : "POST",
headers: {
'Content-Type': 'application/json'
},
params : {add: formattedAddress, lat: latitude},
jsonData: true,
useDefaultXhrHeader : false,
withCredentials: true,
success : function(response) {
Ext.Msg.alert("Success", 'yea');
},
failure : function(response) {
var respObj = Ext.JSON.decode(response.responseText);
Ext.Msg.alert("Error", respObj.status.statusMessage);
}
});