Evet sistemi baya çözdün ve bir uygulama yazmaya başladıııın :) Güzel. Ve sunucudan istekte bulunman gerekiyor. Envayi çeşit $http örneğini denedin ama bi sorun var. İstekler hep error'a düşüyor ve hata mesajı yok.
İlk olarak $http istek şekillerine bi bakalım
$scope.loadAds = function () {
$http.get('http://www.domain_adim.com/MobileService/Ads'
).then(function (response) {
console.info("success: ", response.data[0].LinkUrl);
}, function (error, e2) {
console.info("error %o %o", error, e2);
});
}
veya
[bu örneği sonra ekliycem :)) ]
Bu iki şekilden birini yaptığında dikkat edersen console çıktısı mesela Chrome console'unda
XMLHttpRequest cannot load http://www.superfaiz.com/MobileService/Ads. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://192.168.0.18:8100' is therefore not allowed access.
Cihaz diyo ki "abi bokunu yiyim ben CORS (Cross origin resource sharing) yüzünden başka biyerden veri çekmeye çalışıyorum ama yapamam" diyor :D Güvenlikten dolayı adamlar CORS için birkaç çözüm sunmuşlar. Bunlardan en işe yarar olanını şöyle tatbik ediyoruz.
ionic.project dosyamızın içine json'ın en sonuna
,
"proxies": [
{
"path": "/MobileService/",
"proxyUrl": "http://www.domain_adim.com/MobileService/"
}
]
tanımlaması ekliyoruz
ve mevcut kodumuzdaki adresi şu şekilde değiştirelim
$http.get('http://192.168.0.18:8100/MobileService/Ads'
).then(function (response) {
console.info("success: ", response.data[0].LinkUrl);
}, function (error, e2) {
console.info("error %o %o", error, e2);
});
Böylece yerelde MobileService altına yaptığımız istekler yerel proxy sayesinde domain_adi altına yönleniyor.
Kolay gelsin.
Hiç yorum yok:
Yorum Gönder