В моем приложении sencha-touch у меня есть FormPanel
, который должен публиковаться в моем веб-сервисе.
У меня есть FormPanel, расположенная следующим образом.
var config = {
// Url for the Web Service - Note that the WebServiceURL MUST end with a trailing "/"
WebServiceUrl: 'http://webservice.example.com/'
};
function WebService(controller, action) {
return(config.WebServiceUrl + controller + '/' + action);
};
rpc.views.Contact.CommunicateCard = new Ext.form.FormPanel({
items: [{
xtype: 'fieldset',
id: 'loginFormSet',
title: '',
items: [
{
xtype: 'emailfield',
placeHolder: 'Username',
name: 'Username',
id: 'Username',
required: true
}, {
xtype: 'passwordfield',
placeHolder: 'Password',
name: 'Password',
required: true
}, {
xtype: 'checkboxfield',
id: 'RememberMe',
name: 'RememberMe',
label: 'Save login?',
labelWidth: '40%'
},
{
xtype: 'button',
text: 'Login',
ui: 'confirm',
style: 'margin:2%;',
handler: function() {
doLogin();
}
}
]
}]
});
var doLogin = function () {
Ext.Ajax.request({
url: WebService('GetInTouch', 'CommunicateCard'),
method: 'post',
params: { UserName: rpc.views.Contact.CommunicateCard.getValues().Username, Password: rpc.views.Contact.CommunicateCard.getValues().Password, RememberMe: Ext.getCmp('RememberMe').isChecked() }
});
};
Проблема в том, что когда я нажимаю "отправить" и смотрю сообщение в Fiddler / Charles , я не вижу никаких значений формы.Кроме того, когда мой веб-сервис получает запрос, он также не получает значения формы.
Вот HTTP-ответ Чарльза
OPTIONS / GetInTouch / CommunicateCard HTTP/1.1
Хост: webservice.example.com
Ссылка: http://192.168.5.206/ Метод контроля доступа-запроса: POST
Источник: http://192.168.5.206
Агент пользователя: Mozilla / 5.0(Macintosh; Intel Mac OS X 10_7_0) AppleWebKit / 534.24 (KHTML, как Gecko) Chrome / 11.0.696.71 Safari / 534.24
Access-Control-Request-Headers: X-Requested-With, Content-Type
Принять: /
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US, en; q = 0,8
Accept-Charset: ISO-8859-1, utf-8; q = 0,7, *; q = 0,3
Я пытаюсь взять некоторые из моих указаний отсюда
http://mhelpdesk.com/simple-login-form-using-asp-net-mvc-and-sencha-touch/
согласно ответу Chrixian, я также попробовал следующий код с теми же результатами.
rpc.views.Contact.CommunicateCard = new Ext.form.FormPanel({
items: [{
xtype: 'fieldset',
id: 'loginFormSet',
title: '',
items: [
{
xtype: 'emailfield',
placeHolder: 'Username',
name: 'Username',
id: 'Username',
required: true
}, {
xtype: 'passwordfield',
placeHolder: 'Password',
name: 'Password',
required: true
}, {
xtype: 'checkboxfield',
id: 'RememberMe',
name: 'RememberMe',
label: 'Save login?',
labelWidth: '40%'
},
{
xtype: 'button',
text: 'Login',
ui: 'confirm',
style: 'margin:2%;'
}
],
submit: {
url: WebService('GetInTouch', 'CommunicateCard'),
waitMsg: 'submitting',
success: function(form, response, responseText) { },
failure: function(form, response, responseText) { }
}
}]
});