Kaedah $http.get yang sangat mudah untuk meminta data daripada antara muka. Tetapi saya tidak tahu mengapa, dan ia terus mengatakan bahawa ia tidak boleh merentas domain. Bagaimana untuk menyelesaikannya? (PS: Selepas menambahkan API_HOST_URL ke halaman lain, nilai siaran pergi ke laluan itu dan tiada ralat merentas domain dilaporkan, tetapi salinan yang sama tidak berfungsi di bawah kaedah dapatkan)
function togetpNo($scope,$http){
var array=$scope.array;
$http.get(API_HOST_URL+'/ss/test.do?pNo='+array)
.success(function(data){
alert(data);
}).error(function(e){
alert('请求失败了');
})
}
Kandungan ralat:
XMLHttpRequest tidak boleh memuatkan http://datatest.dev:8081/ss/test.do?pNo=h01,h02. Tiada pengepala 'Access-Control-Allow-Origin' pada sumber yang diminta 'http://localhost:8080' tidak dibenarkan akses.
Ditukar untuk menulis menggunakan jsonp:
$http.jsonp(API_HOST_URL+"/ss/test.do?jsonp=JSON_CALLBACK&pNo="+array)
Ralat: Ralat Sintaks Tidak Ditangkap: Token tidak dijangka:
1) Cross-domain tiada kaitan dengan jenis rangka kerja yang digunakan,
(PS: Selepas menambahkan API_HOST_URL ke halaman lain, nilai siaran pergi ke laluan itu dan tiada ralat merentas domain dilaporkan, tetapi sama Salinnya, tetapi ia tidak berfungsi dalam kaedah get) Adakah halaman lain dalam domain yang sama dengan halaman anda Adakah masalah yang sama semasa menggunakan get /jsonp pada halaman lain ?
2) Selepas menggunakan JSONP, sila semak sama ada kandungan data yang dikembalikan memenuhi keperluan format json Jika tidak, ralat serupa akan dilaporkan
Ralat Sintaks Tidak Ditangkap: Token tidak dijangka :
Anda mungkin perlu menambah beberapa pengepala:
Jika anda ingin merentas domain, jsonp lebih diutamakan dan kemudian pastikan pelayan mengembalikannya dalam format sintaks js biasa
Contohnya, nilai pulangan ialah:
var test = {"status":1,"data":5};