У меня есть два приложения рельсов. В первом приложении
у меня есть следующий метод в моем контроллере:
def delivery_status
envelope_id = params[:id]
render :json => envelope.to_json(:include => [:deliveries, :log_lines])
end
, который, если перейти к URL в моем браузере, хорошо показывает мой JSON. Кажется хорошо
Однако, если я вызываю это через jQuery, из моего второго приложения, используя следующее:
$(document).ready(function(){
$('#provisioning_sms_details_dialog').hide();
$('.get_sms_details').live('click', function(event) {
var el = $(this),
data_url = el.attr('data-url');
$.ajax({
url: data_url,
dataType: 'text',
success: function(data, status, req) {
alert('received with status' + status)
alert('received json ' + data);
}
});
});
});
, тогда правильный URL будет указан с правильными параметрами, но data
всегда пуст.
Сначала я попытался использовать $.getJSON
, затем $.get
, чтобы закончить на $.ajax
. Я не уверен, но кажется, что я делаю что-то не так на стороне сервера.
Если я посмотрю на запрос внутри firebug, ответ действительно будет пустым. Тем не менее, я не понимаю, что если браузер разрешит один и тот же URL, я получу свой объект json.
Есть идеи, как решить эту проблему?