如何在 sencha 中调用 Web 服务并解析 json?
Posted
技术标签:
【中文标题】如何在 sencha 中调用 Web 服务并解析 json?【英文标题】:How to call web service and parse json in sencha? 【发布时间】:2014-04-05 07:08:08 【问题描述】:大家好,我正在开发 sencha 应用程序,我需要通过单击按钮调用 Web 服务,并且我需要解析 json。
我用谷歌搜索了很多,但没有得到任何分步教程。我对 sencha 很陌生,需要一个分步教程来调用 Web 服务并在 sencha touch 中解析 json。
我也尝试了以下代码:
我的功能:
getDetails: function()
alert("Hi Welcome To Sencha");
Ext.Ajax.request(
method: 'GET',
url: 'http://www.aswaq.se/web_ajax_disp.php?fid=100&n=rt&p=rt',
params: method: 'Helloworld', format: 'json' ,
success: function (response, request)
alert('Working!')
alert(response.responseText)
console.log('Response:-' + response.responseText)
,
failure: function (response, request)
alert('Not working!')
console.log('Response Status:- ' + response.status)
);
我们将不胜感激。
【问题讨论】:
【参考方案1】:对您的问题的简单直接的回答是:
Ext.Ajax.request(
method: 'GET',
url: 'http://www.aswaq.se/web_ajax_disp.php?fid=100&n=rt&p=rt',
params: method: 'Helloworld', format: 'json' ,
success: function (response, request)
alert('Working!')
var jsonData = Ext.util.JSON.decode(response.responseText);
,
failure: function (response, request)
alert('Not working!')
console.log('Response Status:- ' + response.status)
);
但是 sencha touch 2 和 extjs 指南建议使用stores: 它看起来像这样:
var myStore = Ext.create("Ext.data.Store",
model: "User",
proxy:
type: "ajax",
url : "/users.json",
reader:
type: "json",
rootProperty: "users"
,
autoLoad: true
);
当您加载商店时,它会自动调用其中指定的正确 url,并根据您指定的模型(模型:用户)加载里面的数据。 您可以使用 2 种方法来加载商店: 像示例中一样设置 autoLoad:true 并让商店在加载到您的应用程序时加载 需要时调用 myStore.load()
【讨论】:
以上是关于如何在 sencha 中调用 Web 服务并解析 json?的主要内容,如果未能解决你的问题,请参考以下文章
为用户和身份验证使用解析服务器并调用其他内部 REST Web 服务
Sencha Touch 和 WordPress BuddyPress API 之间的 JSON 解析问题