因此,我编写了一个 WordPress 插件来生成一个包含最新 X 文章的 JSON 文件,之后可以从 URL 访问该文件,然后使用 CloudFront 对其进行缓存。
所以,我像这样(在浏览器中)访问我的文件:http: //mm.site.com/wp-content/uploads/plug/plug.json
我得到了我的 JSON 格式响应文件:
{"id":55142,"title":"Un nuevo modelo productivo para Espa\u00f1a","url": ....
现在,这是我用来以异步模式访问文件的 js 代码:
var jqXHR = $.ajax({
type: 'GET',
url: 'http://mm.site.com/wp-content/uploads/plug/plug.json',
contentType: "application/json",
dataType: 'jsonp'
});
jqXHR.done(function(json) {
console.log(json);
})
.error(function(e) {
console.log(e);
})
.always(function(test) {
console.log(test);
});
现在,古玩部分是在“网络”选项卡(Firebug 或 Chrome 开发工具)下,我看到了请求,它以200 Status Code
和文件内容结尾,但是,我在 中看不到响应.done()
,所以我可以' t 访问和使用它。
任何想法为什么会这样?
更新
json
而不是jsonp
, 不会因为cross-origin control
. 请记住,我从 Amazon 的 CloudFront 提供文件。我尝试修复它,但没有运气,所以除非你有其他选择,否则我别无选择,只能使用jsonp