qq_39151039
qq_39151039
采纳率0%
2017-10-09 08:40 阅读 881

ajax向后台请求数据时执行error不执行success

$(function() { $("input[name=uname]").blur(function() { var name = $(this).val(); if(name==null||name==""){ $("#yid span").html("用户名不能为空"); }else{ $.ajax({ "url" : "RegistServlet", "type" : "get", "data" : "name="+name, "dataType" : "text", "success" : function(result) { $("#yid span").html(result); }, error: function(){ alert("报错了"); } }); } }); })
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

9条回答 默认 最新

  • qwerrwqe qwerrwqe 2017-10-09 09:23

    success 引号去了试试,,还有可能就是返回的result必须是标准的json格式,试下吧。

    点赞 1 评论 复制链接分享
  • coder_daiwang coder_daiwang 2017-10-09 09:45

    确认几个问题,来排除 dataType错误 包括格式错误,类型错误,楼上所说的json格式是否对应 另外 同步异步,一般不会出问题 。
    现在首先要做的就是你要把 error Alert出来,一堆代码真的把人看花。

    点赞 1 评论 复制链接分享
  • zxh997234531 zxh_997234531 2017-10-09 11:30

    $(function(){
    $("input[name=uname]").blur(function(){
    var name = $(this).val();
    if(name == null|| name == ""){
    $("#yidspan").html("用户名不能为空");
    }else{
    $.ajax({
    url : "RegistServlet",
    type : "get",
    data : "name="+name,
    dataType : "text",
    success :function(result){
    $("#yidspan").html(result);
    },
    error :function(){
    alert("报错了");
    }
    });
    }
    });
    });
    原因可能:
    1.后台返回的数据类型与ajax的dataType不吻合
    2.后台返回的数据有问题
    3.后台没有成功返回数据
    建议你:
    1.以后代码整理好后再发出来
    2.首先后台通过控制台等多种方法确定页面值是否传入
    3.确定传入后前端页面通过浏览器打印值是否收到
    4.最外层缺分号

    点赞 1 评论 复制链接分享
  • MathRandom MathRandom 2017-10-09 09:15

    把success的双引号去掉呢

    点赞 评论 复制链接分享
  • tianguozhiya 去你大爷的昵称已存在 2017-10-09 09:22

    去掉success的引号

    点赞 评论 复制链接分享
  • u013696581 小小小小毛 2017-10-09 09:32

    dataType 写成json 后台返回json格式的就好了

    点赞 评论 复制链接分享
  • qq_37894336 小白_不太白 2017-10-09 09:53

    还有一个原因可能是你的url 路径不正确,也会直接跳到error里面去的

    点赞 评论 复制链接分享
  • lypgcs 四颗咖啡豆LanLiang 2017-10-09 10:05

    去掉success的引号

    点赞 评论 复制链接分享
  • Small_Mouse0 鼠小 2017-10-09 10:13

    先去掉success的引号

    不行的话,,浏览器F12,,看看请求内容,是否成功

    点赞 评论 复制链接分享

相关推荐