我正在創建登錄系統Sencha Touch 2。我在提交表單時遇到問題。它沒有從服務器獲取響應數據。下面是我的代碼表單提交不起作用
控制器:
Ext.define("MyMobile.controller.LoginController", {
extend: "Ext.app.Controller",
views: ['LoginView'],
config: {
refs: {
loginForm: "#loginFormPanel"
},
control: {
'button[action=login]': {
tap: "authenticateUser"
}
}
},
authenticateUser: function (button) {
this.getLoginForm().submit({
url: 'login/authenticate',
method: 'POST',
success: function (form, result) {
debugger; //This block of code is not executing even after JSON response
var jsonoutput = Ext.decode(result); // json parsing
Ext.MessageBox.alert('Error', "Success");
},
failure: function (form, result) {//This block of code is not executing even after JSON response
Ext.MessageBox.alert('Error', "Invalid username/password");
}
});
}
});
查看
Ext.define("MyMobile.view.LoginView", {
extend: "Ext.form.FormPanel",
alias: "widget.mylogin",
id: 'loginFormPanel',
config: {
margin: '0 auto',
name: 'loginform',
frame: true,
url: 'login/Authenticate',
title: 'Login',
items: [
{
xtype: 'fieldset',
itemId: 'LoginFieldset',
margin: '10 auto 0 auto ',
title: '',
items: [
{
xtype: 'textfield',
label: 'User Name',
name: 'my-username',
required: true,
placeHolder: 'Username'
},
{
xtype: 'emailfield',
label: 'Email',
name: 'Email'
},
{
xtype: 'passwordfield',
label: 'Password',
name: 'my-password',
required: true,
placeHolder: 'Password'
}
]
},
{
xtype: 'button',
id: 'loginButton',
margin: '25 auto 0 auto ',
style: '',
maxWidth: 200,
ui: 'action',
width: '',
iconCls: 'user',
iconMask: true,
text: 'Login',
action: 'login'
}
]
}
});
App.JS
Ext.application({
name: "MyMobile",
appFolder: "myapp",
controllers: ["LoginController"],
views: ['LoginView'],
launch: function() {
var loginPanel= Ext.create('Ext.Panel', {
layout: 'fit',
items: [
{
xtype: 'mylogin'
}
]
});
Ext.Viewport.add(loginPanel);
}
});
可不可以有一個人湊ld弄清楚應該是什麼問題?
下面是我從服務器獲得的JSON響應。
{ 「用戶名」: 「穆拉利」, 「isAdmin」:真實的, 「isAuthenticated」:真正}
即使得到一個JSON和200確定結果後,我的代碼提交表單功能進入衰竭回調。在失敗回調函數失敗:函數(形式,結果)我得到的結果參數爲我的JSON。但爲什麼它失敗了?
「下面是來自我的服務器的JSON響應。「,所以你得到了一個結果,或者這是你期望得到的結果嗎? – Rob
我得到JSON響應和200好結果。但是表單提交的成功或失敗回調沒有執行 –
嗯,如果你使用'callback:function(){console.log('cb'); }'? – Rob