получить данные JSON от другого поставщика услуг и импортировать их в базу данных - PullRequest
0 голосов
/ 19 марта 2011

У меня есть приложение rails, использующее OmniAuth для соединения с другими поставщиками услуг.

У моего приложения есть модель пользователя и модель задачи, у пользователя много задач, и задача принадлежит пользователю.

После входа пользователя в приложение я установил перенаправление представления на индекс списка задач.

Я ожидаю, что при перенаправлении jQuery вызовет функцию getjSON Ajax и получит данные json от провайдера и сохранит их в моей базе данных.,Я поместил следующий код в мой application.js

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

Также я добавил один js-файл под названием task.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

1 Ответ

0 голосов
/ 19 марта 2011

Я ожидаю, что при перенаправлении jQuery вызовет функцию getJSON Ajax и получит данные json от поставщика и сохранит их в моей базе данных.Я поместил следующий код в свое приложение. Js

Я не совсем понимаю, что происходит, но я думаю, что то, что вы пытаетесь сделать, нарушает правило same source для запросов ajax.По соображениям безопасности вы можете делать только асинхронные запросы к тому же домену, с которого загружена страница.Если это не так, пожалуйста, уточните свой вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...