Atom到JSONP的转换困境



因此,我正在开发一个存在于另一台服务器上的新闻提要以及该提要描述的静态PDF文档。

我正在尝试实现仅客户端提要解析,因为我不确定后端服务器功能是什么。

作为一种快捷方式解决方法,我正在使用 Blastcasta.com 将 Atom 源解析为 JSON

url = "http://www.blastcasta.com/feed-to-json.aspx?feedurl=http://[atomLocation]/newsletter.atom"
data = {}
$.ajax({
  url: url + "?callback=?",
  dataType: "jsonp",
  data: data,
  success: function(data) { onSuccess(data); },
  error: function() { alert('Failed to parse feed'); },
});

如果我将数据类型设置为"应用程序/json",则会出现跨源错误。如果我将其设置为"jsonp",则会出现"语法错误:意外令牌:"。

据我了解,jsonp 是包装在函数或类似函数中的 json。

是否有合理的解决方法,或者我是否必须"吸收它"并开发服务器端atom-to-jsonp服务?

此服务返回 JSON 或类似内容:

variable = {...}

如果设置了 param URL 参数,但未设置 JSON-P :(

使用 dataType: "jsonp" 不起作用,dataType: "json"也不起作用,因为该服务不允许跨域 ajax 请求(因为没有设置 Access-Control-Allow-Origin 标头 ->请参阅:CORS)

解决方法是插入如下所示的<script>标记:

<script type="text/javascript" src="http://www.blastcasta.com/feed-to-json.aspx?feedurl=<your url here>&param=myVariable"></script>

myVariable包含返回的对象。

示例演示:http://jsfiddle.net/kFL9G/

相关内容

  • 没有找到相关文章