私のsencha-touchアプリケーションでは、私はFormPanel
を持っています。これは私のWebサービスに投稿することになっています。Ext.form.FormPanelがnull値をポストしているのはなぜですか?
私の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にポストを見て、私は任意のフォーム値が表示されないということです。また、私のWebサービスがリクエストを受け取ると、フォーム値も受け取られません。
ここでチャールズ
OPTIONS/GetInTouch/CommunicateCard HTTP/1.1
ホストからのHTTPレスポンスです:webservice.example.com
リファラー:http://192.168.5.206/ アクセス制御リクエスト・メソッド:POSTは
原産地:http://192.168.5.206
AppleWebKit/534.24(GeckoのようなKHTML)Chrome/11.0.696.71 Safari/534.24
アクセス制御リクエスト・ヘッダー:X-要求-では、Content-Typeの
受け入れ:/
のAccept-エンコーディング:gzipでは、収縮、SDCH
を受け入れ-言語:EN-US、エン; qは= 0.8
のAccept-文字セットを: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) { }
}
}]
});
私は編集を投稿しました。 –
[OK]を、ちょうどURLを返します..ああ..コードが座っているので、それはあなたがそれを行うことを期待しているはずです。私は私の答えに追加した.submit()メソッドを試すことができますが、もう一度Fiddlerを見てみましょう。なぜなら、POSTではなくOPTIONSリクエストのヘッダーを貼り付けたことに言及しているからです(これはAjaxのものです)。リクエストが生成するでしょう)私はOPTIONSリクエストを生成するものはわかりません - 私はFiddlerまたはCharlesを使用していないので、プロキシの結果かどうかはコメントできません。 – chrixian
私の編集した質問では、私は '.submit()'関数を使っていますが、同じ結果を返しています。ここで何が起こっているのか分かりません。 –