Ajax Sencha touch存储和代理问题

Ajax Sencha touch存储和代理问题,ajax,sencha-touch-2,local-storage,store,http-request,Ajax,Sencha Touch 2,Local Storage,Store,Http Request,像往常一样,我试着为自己做这件事,我阅读了sencha touch 2使用商店的文档,但我不能做我想要的,我需要做一个快速的应用程序,可以帮助我了解商店和代理如何工作到sencha touch中,我可以将此功能添加到我的实际项目中。这就是我想要的: Ext.define("ejemplo.view.Main", { extend: 'Ext.Panel', requires: [ 'Ext.form.FieldSet', ], config:

像往常一样,我试着为自己做这件事,我阅读了sencha touch 2使用商店的文档,但我不能做我想要的,我需要做一个快速的应用程序,可以帮助我了解商店和代理如何工作到sencha touch中,我可以将此功能添加到我的实际项目中。这就是我想要的:

Ext.define("ejemplo.view.Main", {
    extend: 'Ext.Panel',

    requires: [
        'Ext.form.FieldSet',
    ],

    config: {
        fullscreen: true,
        scrollable: true,

        items: [
            {
                xtype: 'fieldset',
                title: 'Guardando Data',
                centered: true,

                items: [
                    {
                        xtype: 'textfield',
                        label: 'Nombre',
                    },
                    {
                        xtype: 'button',
                        ui: 'confirm',
                        text: 'Guargar',

                        handler: function(){
                            //Store my data locally
                        }                   
                    }
                ]
            },
            {
                xtype: 'button',
                text: 'Almacen',
                ui: 'action',
                docked: 'bottom',

                handler: function(){
                    //Show the data
                }
            }
        ]
    }
});
然而,我知道这个快速应用程序可以让所有需要的人更容易地了解如何将数据存储到sencha touch本地,他们可以使用这些数据满足我们的任何需要

简单地说,如果我创建文件并将此文件放入我的应用程序的路径,但当我想在其他设备上运行应用程序时,此解决方案不起作用。所以,请帮忙

另外,当我制作和获取数据时,如何从sencha touch向我的服务器发出PUT请求

Ext.Ajax.request({
    url : '/your/request/to/server/url',
    method : 'GET', // You can set also method: 'PUT' (answer for 2nd question)
    params : { // your params you want to send 
        user: 'Alexis
    },

    success : function(response) {
    ...
    },

    failure : function(response) {

    ...
    },
})
在回调函数中,您可以通过

if (response.responseText) {
    result = Ext.decode(response.responseText);
}
有关更多信息,请查看


干杯,Oleg

嗨@Alexis你可以用这样简单的例子来试试,因为你知道代理是如何变成Sencha Touch的

<!DOCTYPE html>
<html lang="en">
<head>
<title>Whatever</title>

      <link rel="stylesheet" href="sencha-touch/resources/css/sencha-touch.css" type="text/css" media="screen" />

     <script src="sencha-touch/sencha-touch.js" type="text/javascript"></script>
     <script type="text/javascript">
           Ext.onReady(function() {
                Ext.Ajax.request({
                      url: 'your_file_url',
                      params: {
                           format: 'json',
                      },
                      success: function(response, opts) {
                            var info = Ext.util.JSON.decode(response.responseText)
                            alert(info)
                            console.dir(info)
                            console.log('Response:-:-:-: ' + response.responseText)
                     },
                     failure: function(response) {
                            ...
                     },
                })
           })
    </script>
</head>
<body>
</body>
</html>

无论什么
Ext.onReady(函数(){
Ext.Ajax.request({
url:'您的文件\u url',
参数:{
格式:“json”,
},
成功:功能(响应、选项){
var info=Ext.util.JSON.decode(response.responseText)
警报(信息)
控制台目录(信息)
log('Response:-:-:'+Response.responseText)
},
故障:功能(响应){
...
},
})
})
上面的代码是一个请求JSON文件的简单文件,您可以将此代码用于
handler:function(){…}
实例的
xtype:button

更新

进入
url:''
仅输入文件名,例如
myFileJson.json
myFileJson.php
或任何有效扩展名。:)

如果你有问题,请告诉我


我希望能帮助你。:)

在这里,您可以阅读如何使用HTML5本地存储在本地存储和读取数据的教程。感谢您的链接,我去阅读并执行它可能可以解决我的问题。解决:如果有人需要答案,Oleg的代码是对的,只需添加[Ext.Ajax]来修复问题。我阅读了文档“使用Ajax”但是我不知道为什么如果我写Ext.Ajax.request({url:App.App.getapirl(request.url),method:request.method | | |'POST',headers:{'Content Type':'application/x-www-form-urlencoded',params:request.params |{},成功:函数(响应){…},失败:函数(响应){…},})cosole告诉我不能对未定义对象执行请求:/method:String用于请求的默认HTTP方法。请注意,这是区分大小写的,应全部为大写。无法发送PUT请求吗?默认为未定义;如果未设置但参数存在,则将使用“POST”,否则使用“GET”。我不明白您想要告诉我的内容:/或者代码,我可以稍微说明一下吗?这看起来很棒,让我试试!)谢谢,非常感谢!非常感谢,对于这个答案,我真的认为这些答案可以做任何我想做的事情,但是当我尝试使用Ext.Ajax.request控制台时,我得到了相同的错误,比如>>不能调用未定义的方法'request'。我不想打扰你,但你能告诉我发生了什么事吗?谢谢让我看看我得到了什么!我不知道为什么,但似乎Ext.Ajax总是这样。请求一些我不知道的东西。。很抱歉再次询问,但正如我对@olegtaranenko先生所说,控制台向我显示>>未捕获类型错误:无法调用未定义的方法'request'。你能告诉我我遗漏了什么吗?也许可以是网址?我尝试使用此url:'',这是我的couchdb服务器,带有http请求。此url返回带有2个文件的JSON。演示如何在url上执行请求。Thxs.)只需添加第一步的源代码,看看我得到了什么,看看这个:-我看到了这篇文章,但我已经有两个解决方案,我想