使用ajax从sanchtouch调用SOAP Web服务

使用ajax从sanchtouch调用SOAP Web服务,ajax,web-services,soap,Ajax,Web Services,Soap,我有一个使用sencha touch 1.1实现的身份验证表单 我尝试使用SOAP从Web服务发送和获取数据,看起来我应该使用ajax,但我不知道如何做到这一点 <script type="text/javascript"> Ext.setup({ icon: 'icon.png', tabletStartupScreen: 'tablet_startup.png', phoneStartupScreen: 'phone_startup.png', glossOnIcon: fals

我有一个使用sencha touch 1.1实现的身份验证表单

我尝试使用SOAP从Web服务发送和获取数据,看起来我应该使用ajax,但我不知道如何做到这一点

<script type="text/javascript">
Ext.setup({
icon: 'icon.png',
tabletStartupScreen: 'tablet_startup.png',
phoneStartupScreen: 'phone_startup.png',
glossOnIcon: false,
onReady: function() {

    var form;

    Ext.regModel('User', {
        fields: [
            {name: 'name',     type: 'string'},
            {name: 'password', type: 'password'},
            {name: 'rank',     type: 'string'}
        ]
    });

     Ext.regModel('Ranks', {
        fields: [
            {name: 'rank',     type: 'string'},
            {name: 'title',    type: 'string'}
        ]
     });

    var ranksStore = new Ext.data.JsonStore({
       data : [
            { rank : 'refeer',  title : 'Refeer'},
            { rank : 'player', title : 'Player'},
            { rank : 'federation',     title : 'Federation'}
       ],
       model : 'Ranks',
       autoLoad : true,
       autoDestroy : true
    });

    var formBase = {
        scroll: 'vertical',
        standardSubmit : false,
        items: [{
                xtype: 'fieldset',
                title: 'FIFA Portal',
                instructions: 'Please enter the information above.',
                defaults: {
                    required: true,
                    labelAlign: 'left',
                    labelWidth: '40%'
                },
                items: [
                {
                    xtype: 'textfield',
                    name : 'name',
                    label: 'Name',
                    useClearIcon: true,
                    autoCapitalize : false
                }, {
                    xtype: 'passwordfield',
                    name : 'password',
                    label: 'Password',
                    useClearIcon: false
                }, {
                    xtype: 'selectfield',
                    name : 'rank',
                    label: 'Log As',
                    valueField : 'rank',
                    displayField : 'title',
                    store : ranksStore
                }]
            }],
        listeners : {
            submit : function(form, result){
                console.log('success', Ext.toArray(arguments));
            },
            exception : function(form, result){
                console.log('failure', Ext.toArray(arguments));
            }
        },

        dockedItems: [
            {
                xtype: 'toolbar',
                dock: 'bottom',
                items: [

                    {xtype: 'spacer'},
                    {
                        text: 'Reset',
                        handler: function() {
                            form.reset();
                        }
                    },
                    {
                        text: 'Save',
                        ui: 'confirm',
                        handler: function() {
                            if(formBase.user){
                                form.updateRecord(formBase.user, true);
                            }
                            form.submit({
                                waitMsg : {message:'Submitting', cls : 'demos-loading'}
                            });
                        }
                    }
                ]
            }
        ]
    };

    if (Ext.is.Phone) {
        formBase.fullscreen = true;
    } else {
        Ext.apply(formBase, {
            autoRender: true,
            floating: true,
            modal: true,
            centered: true,
            hideOnMaskTap: false,
            height: 385,
            width: 480
        });
    }

    form = new Ext.form.FormPanel(formBase);
    form.show();
}
});
</script>

外部设置({
图标:“icon.png”,
TabletStartup屏幕:“tablet_startup.png”,
phoneStartupScreen:'phone_startup.png',
格洛松尼康:错,
onReady:function(){
var形式;
Ext.regModel('用户'{
字段:[
{name:'name',type:'string'},
{name:'password',键入:'password'},
{name:'rank',type:'string'}
]
});
Ext.regModel('等级'{
字段:[
{name:'rank',type:'string'},
{name:'title',type:'string'}
]
});
var rankstore=new Ext.data.JsonStore({
数据:[
{排名:'refeer',标题:'refeer'},
{排名:'玩家',头衔:'玩家'},
{排名:'联盟',标题:'联盟'}
],
模型:“等级”,
自动加载:对,
自动销毁:正确
});
var formBase={
滚动:‘垂直’,
标准提交:错误,
项目:[{
xtype:“字段集”,
标题:“国际足联门户网站”,
说明:“请输入上述信息。”,
默认值:{
要求:正确,
labelAlign:'左',
标签宽度:“40%”
},
项目:[
{
xtype:'textfield',
姓名:'姓名',
标签:“名称”,
useClearIcon:对,
自动资本化:错误
}, {
xtype:'密码字段',
名称:“密码”,
标签:“密码”,
useClearIcon:false
}, {
xtype:'selectfield',
姓名:'排名',
标签:“登录为”,
valueField:'rank',
displayField:'标题',
商店:兰克斯商店
}]
}],
听众:{
提交:功能(表格、结果){
log('success',Ext.toArray(参数));
},
例外:函数(形式、结果){
log('failure',Ext.toArray(参数));
}
},
摘要:[
{
xtype:'工具栏',
船坞:“底部”,
项目:[
{xtype:'间隔'},
{
文本:“重置”,
处理程序:函数(){
form.reset();
}
},
{
文本:“保存”,
ui:'确认',
处理程序:函数(){
if(formBase.user){
form.updateRecord(formBase.user,true);
}
提交表格({
waitMsg:{消息:'Submitting',cls:'demos loading'}
});
}
}
]
}
]
};
如果(分机是电话){
formBase.fullscreen=true;
}否则{
Ext.apply(formBase{
是的,
浮动:是的,
莫代尔:是的,
对,,
hideOnMaskTap:错,
身高:385,
宽度:480
});
}
form=新的Ext.form.FormPanel(formBase);
form.show();
}
});
web服务是由GlassFishServer 3.1部署的java web应用程序