【问题标题】:pull json data from another service provider and import them into database从另一个服务提供者拉取 json 数据并将它们导入数据库
【发布时间】:2011-03-19 04:00:57
【问题描述】:

我有一个 Rails 应用程序,使用 OmniAuth 与其他服务提供商连接。

我的应用程序有用户模型和任务模型,用户有很多任务,任务属于用户。

用户登录应用程序后,我将视图重定向到任务列表索引。

我期待重定向时,jQuery 将调用 Ajax getJSON 函数并从提供者获取 json 数据,并将它们存储到我的数据库中。 我已将以下代码放入我的 application.js

$.ajaxSetup({
    dataType: 'json',
    beforeSend: function(xhr){
        xhr.setRequestHeader('Authorization', 'OAuth '+token);
    },
    contentType: "application/json; charset=utf-8"
});

我还添加了一个名为 task.js 的 js 文件,并将其包含在任务索引视图中。在task.js中使用

function GetTasks(){
  $.getJSON(url, function(data){
    console.log(data);
  });
}

$.ready(function(){
  GetTasks();
});

问题:加载任务索引视图时,我的 $.ajaxSetup 设置似乎从未发生过。我应该如何修改才能实现我的想法? 非常感谢。
-------更新-------
我已将流动代码添加到我的 application_controller 中

  after_filter :set_access_control_headers

  def set_access_control_headers
    headers['Access-Control-Allow-Origin']='*'
    headers['Access-Control-Request-Method']='*'
  end

【问题讨论】:

  • 您能否发布完整的源代码(或至少更重要的 sn-ps)以及所有内容的调用方式? (即,您是否从 document.ready 块中调用 $.ajaxSetup 等?
  • 您好 dmcnells,不,我没有在 document.ready 块中输入 $.ajaxSetup。但是我已经把它放在了我的 application.js 中,并且我在我的任务索引视图中包含了这个 js 文件。

标签: jquery ruby-on-rails json


【解决方案1】:

我希望在重定向时,jQuery 会调用 Ajax getJSON 函数并从提供者获取 json 数据,并将它们存储到我的数据库中。我已将以下代码放入我的 application.js

我不太清楚发生了什么,但我认为您尝试做的事情违反了 same source ajax 请求规则。出于安全原因,您只能向加载页面的同一域发出异步请求。如果不是这种情况,请澄清您的问题。

【讨论】:

  • 嗨,John,我已经更新了我的问题,不确定是否有这些信息,谢谢。
猜你喜欢
  • 2018-04-20
  • 1970-01-01
  • 1970-01-01
  • 2019-08-31
  • 1970-01-01
  • 1970-01-01
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多