Extjs如何解析jsonP响应
Extjs how to parse jsonP response
我正在尝试使用 Ext5 向 http://jsonplaceholder.typicode.com/posts 发送一个 jsonp 请求。
这是我的店铺:
Ext.define('MyApp.store.example.Post',
{
storeId: 'Post',
model: 'MyApp.model.example.Post',
proxy:
{
type: 'jsonp',
url: 'http://jsonplaceholder.typicode.com/posts',
noCache: false,
pageParam: false, // to remove param "page"
startParam: false, // to remove param "start"
limitParam: false, // to remove param "limit"
},
autoLoad: true
});
使用 Fiddler Web 调试器我可以检查 http request/response。
url 请求是:
http://jsonplaceholder.typicode.com/posts?callback=Ext.data.JsonP.callback1
您可以使用上述 url 检查响应。
我的问题是如何解析来自服务器的响应。
根据我从您的 url 端点可以看出的情况,似乎缓存的 _dc
参数导致了问题。
您不需要解析在方法中为您处理的 JsonP
请求。
这是一个正在运行的 Ext.data.JsonP.request
的简单示例。还有一个 fiddle of the working example.
Ext.data.JsonP.request({
'url': 'https://jsonplaceholder.typicode.com/posts',
disableCaching : false,
success: function (result, request) {
//success
console.log(result, request);
}
});
Sencha 文档是一个很好的资源,这里是关于缓存的 JsonP 文档的 link。如果将此 属性 变回 true
,您将看到端点未返回任何结果。
我正在尝试使用 Ext5 向 http://jsonplaceholder.typicode.com/posts 发送一个 jsonp 请求。
这是我的店铺:
Ext.define('MyApp.store.example.Post',
{
storeId: 'Post',
model: 'MyApp.model.example.Post',
proxy:
{
type: 'jsonp',
url: 'http://jsonplaceholder.typicode.com/posts',
noCache: false,
pageParam: false, // to remove param "page"
startParam: false, // to remove param "start"
limitParam: false, // to remove param "limit"
},
autoLoad: true
});
使用 Fiddler Web 调试器我可以检查 http request/response。 url 请求是: http://jsonplaceholder.typicode.com/posts?callback=Ext.data.JsonP.callback1
您可以使用上述 url 检查响应。 我的问题是如何解析来自服务器的响应。
根据我从您的 url 端点可以看出的情况,似乎缓存的 _dc
参数导致了问题。
您不需要解析在方法中为您处理的 JsonP
请求。
这是一个正在运行的 Ext.data.JsonP.request
的简单示例。还有一个 fiddle of the working example.
Ext.data.JsonP.request({
'url': 'https://jsonplaceholder.typicode.com/posts',
disableCaching : false,
success: function (result, request) {
//success
console.log(result, request);
}
});
Sencha 文档是一个很好的资源,这里是关于缓存的 JsonP 文档的 link。如果将此 属性 变回 true
,您将看到端点未返回任何结果。