正如上面的评论中提到的那样,除非您能够控制吐出XML的应用程序并可以使用格式化技巧来“欺骗”脚本以将其解析为JSON,否则javascript的跨域xml是不行的。如果您可以这样做,那么问题就必须是为什么不首先将格式设置为JSON?所以…选项
- 格式化应用程序的输出以使用JSONP进行处理。假设您无法在这种情况下这样做…
- 在您的网络服务器上使用本地代理。PHP,python或任何其他没有跨域限制的语言都提供了许多简单的代理示例。至于页面上的脚本,则是本地AJAX请求。如果你做不到,那…
- 一种可能性是使用像yql这样的中介。yql和jquery可以解决许多这些xml问题。当然,不利的一面是您通过无法控制的第三方发送邮件。
像这样:
// find some demo xml - DuckDuckGo is great for this var xmlSource = "http://api.duckduckgo.com/?q=StackOverflow&format=xml"// build the yql query. Could be just a string - I think join makes easier reading var yqlURL = [ "http://query.yahooapis.com/v1/public/yql", "?q=" + enpreURIComponent("select * from xml where url='" + xmlSource + "'"), "&format=xml&callback=?" ].join("");// Now do the AJAX heavy lifting $.getJSON(yqlURL, function(data){ xmlContent = $(data.results[0]); var Abstract = $(xmlContent).find("Abstract").text(); console.log(Abstract); });
当然,在该示例中,您要带回所有xml数据并在本地进行搜索-该选项可以调整select语句以带回您想要的内容。
希望能有所帮助
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)