0
我一直在看Sencha Architect的文档和教程,我无法弄清楚。我想要的是有一个按钮将一个值发布到服务器上的PHP脚本,然后从PHP会话变量中检索结果。从我所看到的,我不确定我是否可以根据需要调用PHP,更不用说读取会话变量。调用一个PHP脚本按钮与Sencha建筑师
我意识到这里可能存在一些问题(将按钮连接到控制器/存储,调用脚本,读取结果),但我对建筑师知道他们是否正确还不够了解那些。
编辑:我想我已经把按钮连接到控制器,但我仍然不知道如何让它调用PHP脚本。编辑2: 我添加了一个BasicFunction的按钮,但我不能让它的工作。这里的代码:
// 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的文档中找不到任何内容。
Ajax请求必须在同一个域,它似乎,但它并没有说哪个域是。这是否意味着它需要对设备进行本地请求,并且我应该使用JsonP,还是不重要? – Techwolf
可以使用Chrome禁用安全性进行测试(stackoverflow.com/questions/3102819/chrome-disable-same-origin-policy)或使用jsonp而不是json。当应用在设备上运行时,您不需要担心跨源策略。我会推荐使用jsonp,因为我不这样做,并且有几次想要在浏览器中为客户端演示产品,但由于需要跳过以禁用相同的源策略,所以无法使用jsonp。 – bwags
感谢您的帮助!我不确定我做错了什么,但JsonP请求现在正在工作,除了我打电话的PHP脚本中有一个小错误。 – Techwolf