Angularjs ile Cross-Domain sorununu aşmak için JSONP yöntemini kullanabiliriz. En basit haliyle bir JSONP talebi şu şekilde gönderilebilir.
$http.jsonp('http://www.filltext.com/?callback=JSON_CALLBACK&rows=5&fname={firstName}&lname={lastName}') .success(function (data) { console.log(data); } );
Diğer bir yöntem ise parametreleri ayırarak talebi göndermektir.
$http({ url: 'http://www.filltext.com', method: 'JSONP', params: { callback: 'JSON_CALLBACK', rows: 5, fname: '{firstName}', lname: '{lastName}' } }). success(function (data) { console.log(data); }).error(function (data) { console.log(data); })
Angularjs ile çalışırken callback fonksiyonlarının ismi JSON_CALLBACK şeklinde olmalıdır. Aksi taktirde hata ile karşılaşırız. Angularjs kendi içinde callback fonksiyonunun adını değiştirir. Sonuçta talep olarak bize aşağıdaki gibi bir cevap dönecektir.
angular.callbacks._0({"key": "data"});
İşlem başarılı bir şekilde gerçekleşirse success fonksiyonu çalışacaktır. Hata oluşursa error fonksiyonu çalışacaktır.