У меня есть веб-сайт, созданный с помощью Rails3, и теперь я хочу реализовать json API для доступа мобильных клиентов.Однако отправка json-запроса от клиента из-за фильтра protect_from_forgery.Поскольку клиент не будет извлекать какие-либо данные с сервера, клиент не сможет получить auth_token, поэтому я бы хотел отключить опцию protect_from_forgery только для запросов json (я думал, что rails3 делает это по умолчанию, но, очевидно, это не так).
Я знаю, что подобная тема обсуждается на здесь , но в этом случае он получает auth_token перед отправкой почтового запроса.
Так что мой вопрос отключает protect_from_forgery только дляJSON хороший способ сделать это?Если да, то как это сделать?Если нет, какова альтернатива?
К вашему сведению, я использую следующий запрос ajax
$.ajax({
type: 'POST',
url: "http://www.example.com/login.json",
data: { 'email': emailVal, 'password': passwordVal },
success: onSuccess,
error: onError,
dataType: "json"
});
и получаю ошибку ActionController :: InvalidAuthenticityToken.
Кстати, послеХотя команда curl работает ...
curl -H "Тип контента: application / json" -c cookies.txt -d '{"электронная почта": emailVal, "пароль": passwordVal}' -X POST http://www.example.com/login.json -i