Это убивает меня. Попытка загрузить данные из другого домена из типов API, которые я пытаюсь написать. При передаче параметров в формате JSON, как POST они получают отбрасываются, я где-то читал, что некоторые специальные заголовки должны быть установлены before_filter:Междоменная JQuery JSONP POST to Rails app
def cors_headers #set_access_control_headers
headers['Access-Control-Allow-Origin'] = '*'
headers['Access-Control-Allow-Methods'] = 'POST, GET, OPTIONS'
headers['Access-Control-Max-Age'] = "1728000"
headers['Access-Control-Allow-Headers'] = 'content-type, accept'
end
Не везло с этим же. Угадайте, что это ограничение браузера.
При попытке отправки данных в качестве GET вместо POST, он добавляется к URL, как это:
Completed in 959ms (View: 0, DB: 2) | 200 OK [http://www.somedomain.com/connector/browse/Sport.json?callback=jQuery16105855946165975183_1379526705493&{%22filters%22:[{%22filter%22:{%22attribute%22:%22id%22,%22op
erator%22:%22%3E%22,%22value%22:%222%22}},{%22filter%22:{%22attribute%22:%22id%22,%22operator%22:%22%3C%22,%22value%22:%227523%22}}]}&_=1379526723982]
Так Rails в принципе может не увидеть фильтры, которые являются Params, что я пытаюсь отправить
Parameters: {"{\"filters\":"=>{}, "id"=>"Sport", "_"=>"1379526723982", "callback"=>"jQuery16105855946165975183_1379526705493"}
JQuery сниппет Я играю с это:
$jq.ajax({url: "http://www.somedomain.com/connector/browse/" + x + ".json" + "?callback=?",
type: "get", // tried post too
dataType: "json", // tried jsonp too
accepts: "json",
data: req_data, // this is JSON.stringified already
processData:false,
contentType: "application/json; charset=UTF-8;",
success: output
});
Выборочные данные Я т чтобы отправить это
{"filters":[{"filter":{"attribute":"id","operator":">","value":"2"}},{"filter":{"attribute":"id","operator":"<","value":"7523"}}]}
У кого-нибудь есть идея, как разобраться в этом?
Muchos gracias!
Позже изменения: заголовки действительно добавляются в ответ
Позже отредактируйте 2 - после прочтения вокруг кажется, что запрос POST не должен работать с JSONP, однако, глядя на файл журнала, параметры JSON действительно публикуются, а рельсы читают их просто отлично? Просто выход не достигает клиента (браузера). Разумеется, возможно, чтобы временно сохранить выход на стороне удаленного сервера, а затем выполнить второй вызов GET для извлечения вывода предыдущего вызова JSONP. Мысли? –