Html 使用Sencha Architect在按下按钮时调用PHP脚本

Html 使用Sencha Architect在按下按钮时调用PHP脚本,html,sencha-touch-2,sencha-architect,Html,Sencha Touch 2,Sencha Architect,我一直在看Sencha Architect的文档和教程,但我想不出来。我想要的是让一个按钮在服务器上向PHP脚本发布一个值,然后从PHP会话变量中检索结果。从我所看到的情况来看,我不确定是否可以让它调用PHP,更不用说读取会话变量了 我意识到这里可能有一些问题(将按钮连接到控制器/存储、调用脚本、读取结果),但我对架构师的了解还不够,不知道它们是否正确 编辑:我想我已经把这个按钮连接到一个控制器上了,但是我仍然不知道如何让它调用PHP脚本 编辑2: 我在按钮上添加了一个基本功能,但无法使其工作。

我一直在看Sencha Architect的文档和教程,但我想不出来。我想要的是让一个按钮在服务器上向PHP脚本发布一个值,然后从PHP会话变量中检索结果。从我所看到的情况来看,我不确定是否可以让它调用PHP,更不用说读取会话变量了

我意识到这里可能有一些问题(将按钮连接到控制器/存储、调用脚本、读取结果),但我对架构师的了解还不够,不知道它们是否正确

编辑:我想我已经把这个按钮连接到一个控制器上了,但是我仍然不知道如何让它调用PHP脚本

编辑2: 我在按钮上添加了一个基本功能,但无法使其工作。代码如下:

// Look up the items stack and get a reference to the first form it finds
var form = this.up('formpanel');
var values = form.getValues().getValues()[0];

Ext.Msg.alert('Working', 'Loading...', Ext.emptyfn);

Ext.Ajax.request({
    url: 'http://wereani.ml/shorten-app.php',
    method: 'POST',
    params: {
        url: values
    },
    success: function(response) {
        Ext.Msg.alert('Link Shortened', Ext.JSON.decode(response).toString(), function() {
            form.reset();
        });
    },
    failure: function(response) {
        Ext.Msg.alert('Error', Ext.JSON.decode(response).toString(), function() {
            form.reset();
        });
    }
});

另外,这是从字段(itemID:url)获取值的正确方法吗?我在Touch的文档中找不到任何与此相关的内容。

在侦听器中为按钮使用Ext.Ajax请求。docs.sencha.com/touch/2.2.1/?mobile=/api/Ext.Ajax

那里的文档非常简单。如果你有困难,请张贴一些细节,我会尝试给你写一个例子


祝你好运,Brad

Ajax请求似乎必须在同一个域上,但它没有说明是哪个域。这是否意味着它需要是对设备的本地请求,并且我应该使用JsonP,或者这无关紧要?要么使用禁用安全性的Chrome进行测试(stackoverflow.com/questions/3102819/Chrome disable home origin policy),要么使用JsonP而不是json。当应用程序在设备上运行时,您无需担心跨源策略。我建议使用jsonp,只是因为我没有并且多次想在浏览器中为客户端演示一个产品,但由于需要跳转以禁用同源策略,所以无法演示。谢谢您的帮助!我不确定我做错了什么,但是JsonP请求现在正在工作,除了我调用的PHP脚本中的一个小错误。