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

java - ajax atteint avec succès l'arrière-plan, mais je ne sais pas pourquoi il continue de rappeler la fonction défaillante

function a() {
        $.ajax({
        url : "http://localhost:8080/ubi/checkIntegral",
        async : true,
        data:{"carOwnerID":"111111"},
        dataType : 'json',
        type : 'GET',
        success : function() {
            alert("ss");
        },
        error : function(map){
            alert("FALSE");
        }
    });
}

@RequestMapping(value="/checkIntegral",method = RequestMethod.GET)
@ResponseBody
public  Map<String,Long> checkIntegral(@RequestParam  String carOwnerID ,HttpServletRequest request,HttpServletResponse response){
    Long integral = impl.checkIntegral(Long.valueOf(carOwnerID));
    Map<String,Long> map = new HashMap<String, Long>();
    map.put("msg", integral);
    return map;
}
漂亮男人漂亮男人2712 Il y a quelques jours609

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

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-17 10:08:19

    Si la demande aboutit et que les données sont renvoyées, cela peut être lié au format incorrect de vos données renvoyées. Parce que vous avez défini dataType : 'json' pour qu'il attende le type de données renvoyé par le serveur. Cela conduit souvent au rappel error. Veuillez exclure les données renvoyées. dataType : 'json' 预期服务器返回的数据类型。这样往往会进入 error 回调。你排除一下返回数据。

    而且,error

    De plus, error a trois paramètres de rappel, veuillez les imprimer vous-même.

    Quelques raisons pour lesquelles Ajax se trompe🎜

    répondre
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-17 10:08:19

    Affichez votre valeur de retour et voyez les données

    répondre
    0
  • 巴扎黑

    巴扎黑2017-05-17 10:08:19

    HttpServletResponse est en conflit avec le rappel ajax, supprimez simplement HttpServletResponse.

    répondre
    0
  • 迷茫

    迷茫2017-05-17 10:08:19

    Je vois que votre dataType : 'json', exige que le serveur renvoie le format json.
    Si les données renvoyées par le serveur ne sont pas au format json, elles entraîneront un échec de rappel.

    répondre
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-17 10:08:19

    Configurez votre type de données AJAX : "text", puis utilisez alert(data) pour afficher la valeur de retour

    Étant donné que les requêtes Ajax sont différentes des réponses, la page n'a pas besoin d'être affichée après avoir obtenu les données, il n'est donc pas nécessaire que RESPONSE passe à une nouvelle page. Il n'est donc pas nécessaire de RETOURNER, mais d'imprimer sur la page demandée via PrintWriter
    @RequestMapping(value="/checkIntegral",method = RequestMethod.GET)
    @ResponseBody
    public void checkIntegral( @RequestParam String carOwnerID, requête HttpServletRequest, réponse HttpServletResponse){

    Long integral = impl.checkIntegral(Long.valueOf(carOwnerID));
        PrintWriter writer=response.getWriter();
        writer.write(String.valueOf(integral));
        writer.flush();
        writer.close();

    }

    répondre
    0
  • ringa_lee

    ringa_lee2017-05-17 10:08:19

    Je n'ai pas remarqué que cet ajax est une requête inter-domaines.

    répondre
    0
  • 怪我咯

    怪我咯2017-05-17 10:08:19

    Le type de données de votre valeur de retour est json, mais vous lui avez renvoyé une carte en arrière-plan. Convertissez votre carte en json

    .

    répondre
    0
  • Annulerrépondre