Saya memiliki kode jQuery yang berfungsi dengan baik lintas asal:
jQuery.ajax({
url: "http://example.appspot.com/rest/app",
type: "POST",
data: JSON.stringify({"foo":"bar"}),
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (response) {
console.log("success");
},
error: function (response) {
console.log("failed");
}
});
Sekarang saya sedang mencoba untuk mengubahnya menjadi kode Angular.js tanpa hasil apapun:
$http({
url: "http://example.appspot.com/rest/app",
dataType: "json",
method: "POST",
data: JSON.stringify({"foo":"bar"}),
headers: {
"Content-Type": "application/json; charset=utf-8"
}
}).success(function(response){
$scope.response = response;
}).error(function(error){
$scope.error = error;
});
Setiap bantuan dihargai.
jquery
ajax
angularjs
cross-domain
angular-http
Tak ada habisnya
sumber
sumber
Jawaban:
Cara AngularJS memanggil $ http akan terlihat seperti ini:
atau bisa ditulis lebih sederhana lagi menggunakan metode pintas:
Ada beberapa hal yang perlu diperhatikan:
success
danerror
masing - masing (harap perhatikan juga parameter dari setiap callback) - Tidak digunakan lagi di angular v1.5then
fungsi sebagai gantinya.then
penggunaan dapat ditemukan di siniDi atas hanyalah contoh singkat dan beberapa petunjuk, pastikan untuk memeriksa dokumentasi AngularJS lebih lanjut: http://docs.angularjs.org/api/ng.$http
sumber
params
dandata
ada 2 hal yang berbeda: params berakhir di URL (string kueri) sementara data - dalam isi permintaan (hanya untuk jenis permintaan yang sebenarnya dapat memiliki isi).Kita dapat mengimplementasikan permintaan ajax dengan menggunakan layanan http di AngularJs, yang membantu membaca / memuat data dari server jarak jauh.
Metode layanan $ http tercantum di bawah ini,
Salah satu Contoh:
http://www.drtuts.com/ajax-requests-angularjs/
sumber
Anda dapat menggunakan ini:
Unduh "angular-post-fix": "^ 0.1.0"
Kemudian tambahkan 'httpPostFix' ke dependensi Anda saat mendeklarasikan modul angular.
Ref: https://github.com/PabloDeGrote/angular-httppostfix
sumber
Anda dapat menggunakan $ .param untuk menetapkan data:
lihat ini: AngularJS + ASP.NET Web API Cross-Domain Issue
sumber