从另一个服务提供商提取json数据并将其导入数据库

时间:2011-03-19 04:00:58

标签: jquery ruby-on-rails json

我有一个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设置在加载任务索引视图时从未发生过。我该如何修改让我的想法发生? 非常感谢你。
------- ------- UPDATE
我已将流动的代码添加到我的application_controller

  after_filter :set_access_control_headers

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

1 个答案:

答案 0 :(得分:0)

  

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

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