【问题标题】:Displaying Textual Data from a remote webserver's jQuery.getJSON() script显示来自远程 Web 服务器的 jQuery.getJSON() 脚本的文本数据
【发布时间】:2013-09-22 19:19:20
【问题描述】:

我正在做一个显示来自远程服务器的数据的个人项目,HTML 代码包含 类似于以下内容:

<script>
jQuery.getJSON("http://someurl.com/something.cgi?
AJZ=1&STOCK=S",
function(data) {
if (data.information[0]) {
var returnHTML = "<table style=\"border: 1px solid #E0E0E0;border-collapse: collapse;\"     

它在调用脚本的远程服务器上运行良好,但我试图只复制数据字段(它们是 4 或 5 行文本数据)。我尝试使用 LWP::UserAgent 和 HTTP::Request::Common 编写一个简单的 perl 脚本来将其提取到 html 页面,但脚本数据显然需要浏览器来执行。

当我访问页面时文本显示正常,但当我尝试合并它时,我看到“未授权” 有人对如何完成此操作有任何提示吗?

【问题讨论】:

  • 上面html/javascriptURL是什么?如果不在someurl.com,则需要 JSONP
  • 看来我必须运行一个 javascript 引擎,例如 spidermonkey 才能获得我需要的结果。

标签: html json perl


【解决方案1】:

听起来像是 CORS(跨域资源共享,http://www.w3.org/TR/cors/)问题,您的远程服务器需要允许跨域访问。大多数服务器都设置为不接受来自其自身域之外的域的 XMLHttpRequest,这是阻止跨域脚本编写的一种安全措施。

或者您可以在本地机器上调用一个脚本,一个代理脚本,为您远程检索数据并将其返回给您的 javascript 调用。

使用 LWP::Simple 在 Perl 中获取网页 - http://www.onperl.net/Fetching-a-Web-Page-Module-LWP-Simple

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 2014-12-13
    • 2016-08-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多