我有一个简单的网页,其中有一个链接,在按下它时会下载一个文件(其余的是Web服务调用)。我需要读取文件并使用javascript显示内容。我该怎么做?
答案 0 :(得分:2)
如果您可以访问托管REST Web服务的服务器,则可以使用JSONP。
否则,您将不得不解决same-origin policy限制。
作为一种可能的解决方法,如果您使用的是reverse proxy,则可以设置一个非常简单的mod_proxy(Apache}。这将允许您在AJAX请求中使用相对路径,而HTTP服务器将充当任何“远程”位置的代理。
在mod_proxy中设置反向代理的基本配置指令是ProxyPass。您通常会按如下方式使用它:
ProxyPass /web-services/ http://third-party.com/web-services/
在这种情况下,浏览器会请求/web-services/service.json
,但服务器将通过充当http://third-party.com/web-services/service.json
的代理来实现此目的。
如果您使用的是IIS,则可能需要使用Managed Fusion URL Rewriter and Reverse Proxy来设置反向代理。
修改强>
除了下面的评论之外,由于Web服务位于同一个域中,因此无需担心相同的源策略。只需使用XMLHttpRequest即可。您可以先查看ajaxpatterns.org上的文章:
答案 1 :(得分:2)
使用jquery
$.getJSON(myResourceFileURL, function parseResults(json){ //json is the contents of the file } );
答案 2 :(得分:0)
当你使用JQuery时:
http://api.jquery.com/jQuery.getJSON/
您的文本文件将传递给您设置的“成功”功能。您的成功函数可以使用document.write或类似内容将内容写入页面。