recherche

Maison  >  Questions et réponses  >  le corps du texte

angulaire.js - Fonction de rappel $http et problèmes de code retour

有一个rest服务,我的代码大致是这样

$http.jsonp(url)

.then(function(data){
    console.log(data)
},function(res){
    console.log(res)
})

Lorsqu'il n'y a aucune donnée dans la base de données, les informations réseau de la console indiquent que l'état est 200

la réponse renvoie des données

Informations imprimées par console.log(res)

Pourquoi l'état affiché sur le réseau est-il 200, mais une fois imprimé, il devient 404 et les données de réponse ne sont pas renvoyées. Maintenant, je dois obtenir returncode=-1 pour juger lorsqu'il n'y a pas de données dans la base de données. Comment dois-je obtenir cette réponse ?

过去多啦不再A梦过去多啦不再A梦2766 Il y a quelques jours869

répondre à tous(1)je répondrai

  • 滿天的星座

    滿天的星座2017-05-24 11:39:44

    L'adresse URL doit être ajoutée ?callback=JSON_CALLBACK. Le résultat de votre réponse est : ({"returnCode": "-1"})。正常Response的结果是:/**/angular.callbacks._0({"found":12,"posts": []});
    Ce qui suit est un exemple en ligne : angulairejs-http-jsonp-service-example Supprimez le paramètre de requête de rappel et jetez un œil au résultat. .


    Pourquoi le statut affiché par les outils de développement est 200 ? Cela signifie simplement que la requête HTTP a réussi. Pourquoi 404 est-il renvoyé ?

    if (event) {
      // JS成功加载但回调未被调用
      if (event.type === 'load' && 
        !callbacks.wasCalled(callbackPath)) {
              event = { type: 'error' };
            }
            text = event.type;
            status = event.type === 'error' ? 404 : 200;
      }
    }

    Veuillez vous référer au code source AngularJS httpBackend pour plus de détails.

    jsonpReq ne définit le statut que sur 200 (OK), 404 (ERREUR) ou -1 (ATTENTE) - httpBackend.js#65

    répondre
    0
  • Annulerrépondre