ile ilgili sorunlar yaşıyorum Heroku'da çalışan bir Rails uygulaması ve Jquery Mobile kullanarak bir html dosyası var.Erişim Denetimi-İzin-Menşei
Raylar uygulaması benim mobil uygulama alıp gösteri varsayalım ki, (RABL kullanarak) JSON verilerini döndürür.
Bu ben liste görünümü yanıt içeriğini besliyorum, yapıyorum budur. Gayet basit. Chrome'u kullanırsam, konsol, Kökeni null değerine Erişim-Denetim-İzin-Kökeni tarafından izin verilmediğini gösterir. Firefox'ta çalışırsam konsolda bir hata yok, ancak uyarı tetikleyicileri bile veriler gösterilmiyor.
function getBuses(){
$('#content').append("<ul id='bus_list' data-role='listview' data-inset='true'</ul>")
$('#content').trigger("create");
//Se llama a la API para retornar todos los buses
$.getJSON('http://someapp.herokuapp.com/buses.json', function(data)
{
$.each(data, function(key, value)
{
alert(key + ":" + value);
$('#bus_list').append('<li id="'+bus.id+'">'+bus.numero_de_linea+'<li/>');
});
});
$('#bus_list').listview("refresh");
}
Bu sunucu yanıt şudur:
[{"id":7,"numero_de_linea":"604"}]
Ben bir süre için şimdi Access-Control-Allow-Origin okuma ettik, ama ben yapmam gerekeni emin değilim, sunucumdaki bir şeyi değiştirmeli miyim? Bu html dosyasını tarayıcımda deniyorum, fakat telefonumda da çalışmıyor. çalıştırıldığında, $.support.cors
ve $.mobile.allowCrossDomainPages = true;
ayarlamayı yaptım.
Bundan sonra yapılacaklar hakkında her türlü bilgi büyük takdir edilecektir.
EDIT: RABL ile çalışıyorsanız, başlatıcıda enable_json_callback değişkenini true olarak ayarlamayı unutmayın. Bu şeyi her iki taraftan da etkinleştirmelisin.
Teşekkür yanıt için. Bu işlevi nereye çağırmalıyım? – Sebastialonso
Ajax çağrınızda çağıran eylemin bir 'after_filter' olması gerekir. Raylar uygulamasına birkaç ajax çağrısı varsa, bu, 'application_controller' içinde 'after_filter' olarak kullanılabilir. – Nerve
Bunu çevreye göre ayarlamak için bkz. Https://stackoverflow.com/a/17815546/912563 – lightswitch05