Rumah > Soal Jawab > teks badan
有一个rest服务,我的代码大致是这样
$http.jsonp(url)
.then(function(data){
console.log(data)
},function(res){
console.log(res)
})
Apabila tiada data dalam pangkalan data, maklumat rangkaian konsol menunjukkan status ialah 200
tindak balas mengembalikan data
Maklumat dicetak oleh console.log(res)
Mengapa status yang dipaparkan dalam rangkaian menjadi 200, tetapi apabila dicetak ia menjadi 404, dan data respons tidak dikembalikan. Sekarang saya perlu mendapatkan returncode=-1 untuk penghakiman apabila tiada data dalam pangkalan data Bagaimana saya harus mendapatkan respons ini?
滿天的星座2017-05-24 11:39:44
Alamat URL perlu ditambah?callback=JSON_CALLBACK Hasil daripada Respons anda ialah: ({"returnCode": "-1"})
。正常Response的结果是:/**/angular.callbacks._0({"found":12,"posts": []});
Berikut ialah contoh dalam talian: angularjs-http-jsonp-service-example, anda letakkan. parameter pertanyaan panggil balik Alih keluarnya dan lihat hasilnya.
Mengapa status yang dipaparkan oleh alat pembangun ialah 200 Ini bermakna permintaan HTTP berjaya. Mengapa mengembalikan 404,
if (event) {
// JS成功加载但回调未被调用
if (event.type === 'load' &&
!callbacks.wasCalled(callbackPath)) {
event = { type: 'error' };
}
text = event.type;
status = event.type === 'error' ? 404 : 200;
}
}
Untuk butiran, sila rujuk kod sumber httpBackend AngularJS.
jsonpReq hanya pernah menetapkan status kepada 200 (OK), 404 (ERROR) atau -1 (MENUNGGU) - httpBackend.js#65
#🎜 #balas0