【问题标题】:Rails: Get remote page via ajaxRails:通过ajax获取远程页面
【发布时间】:2012-11-01 13:53:04
【问题描述】:

我使用 Rails3 并尝试通过 ajax 获取远程页面。 (https://play.google.com/store/apps/details?id=)。

$.ajax({
      url: app_url,
      type: 'GET',
      data: "id=<id>",
      crossDomain : true,
      dataType: 'jsonp',
      success: function ( code ) {
        alert("Good.");
      }
    });

当我运行脚本时,我看到:“Uncaught SyntaxError: Unexpected token

顺便说一句,我试着这样做:

$.ajax({
      url: app_url,
      type: 'GET',
      data: "id=<id>",
      crossDomain : true,
      dataType: 'jsonp',
      success: function ( code ) {
        alert("Good.");
      }
    });

但我看到“Access-Control-Allow-Origin 不允许 Origin http://example.com:3000。”错误信息。

如何修复错误并获取页面?

谢谢。

【问题讨论】:

  • 那是你的实际代码?与id=&lt;id&gt;?你把实际的身份证放在里面怎么样?
  • 不,这只是示例, 可以是 'my.packet' :)

标签: javascript ruby-on-rails ajax jquery


【解决方案1】:

如果您尝试通过 AJAX 访问远程页面,该页面可能会阻止您的请求。错误消息会提示:https://developer.mozilla.org/en-US/docs/HTTP_access_control

编辑

为清楚起见,Access-Control-Allow-Origin 是允许“来源”从中检索的服务器设置。您可能会在服务器端获取此页面,并且根据 google 的安全级别,您可能不得不欺骗浏览器。想到 PHP CURL。然后,您将为您的服务器脚本设置一个 ajax 调用,您的服务器会为您获取页面,然后将其返回给您的 ajax 调用。

【讨论】:

    猜你喜欢
    • 2012-03-30
    • 2012-06-04
    • 2014-06-24
    • 1970-01-01
    • 2011-12-02
    • 1970-01-01
    • 1970-01-01
    • 2014-08-27
    • 1970-01-01
    相关资源
    最近更新 更多