cari

Rumah  >  Soal Jawab  >  teks badan

angular.js - fungsi panggil balik $http dan isu kod pulangan

有一个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?

过去多啦不再A梦过去多啦不再A梦2768 hari yang lalu877

membalas semua(1)saya akan balas

  • 滿天的星座

    滿天的星座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

    #🎜 #

    balas
    0
  • Batalbalas