ajax请求可以进入java后台,但是获取不到java后台返回的数据

今天一天,都因为这个问题......崩溃

什么问题呢?

1、我在做一个手机app

2、我用java左后台,用Mysql+sqlyog做数据库

3、前端和后台是由ajax连接的

4、ajax可以进入后台,后台可以获取ajax传递过来的值

5、但是呢,java返回json类型的数据,ajax却请求不到,即不报错,也没有任何提示!!!


尝试

然后我用postman来测试后台的接口,完全没有问题,有返回值

如图示

 

 java后台也可以访问得到前台传递过来的数据

所以我怀疑是前台ajax的问题、

做过如下的尝试

1、在function(ret,err){alert('我进来了');}     

     但是不起任何作用,没有任何弹框

用的是api.ajax

function ajax_login(user,ps){
  api.ajax({
      url: 'http://192.168.0.100:8080/jiekou/login.kk',
      method: 'post',
      charset:'utf-8',
      dataType:'JSON',
      returnAll:true,
      timeout:30,
      data: {
          values: {
              username: user,
              password: ps
          }
      }
  },function(ret, err){
      if (ret) {
     alert(JSON.stringify( ret ));
      } else {
          alert(JSON.stringify( err ) );
      }
  });

}

2、我以为api.ajax是有漏洞的,因为这个是apicloud下面的一个对象,我觉得apicloud不像java js 是比较有名有权威的东西

我用了js原生的ajax,调试了半天,把json改成text,把text改成json,要么显示失败,要么就是跟之前一样没有任何返回值

 

function ajax_login(user, ps) {
    alert("tyty:" + user + "密码:" + ps);
$.ajax({
        method:'post',
        url: 'http://192.168.0.107:8080/jiekou/login.kk',
        async:true,
        dataType:"json",
        data: {
                username: user,
                password: ps
              },
        timeout:3000,
       success: function(){  alert('成功');  },
       error: function () { alert('失败'); }
  })
}

3、百度了很久很久,后来发现一个博客

是由于 提交的type是submit,而submit类型的按钮会导致页面刷新和ajax异步刷新相违背

如果input type为submit时,你每次在提交的时候会发现所有输入框中数字全部清空了,说明页面重新刷新了,那么问题来了,ajax并不会导致页面刷新啊!真正导致页面刷新的是这个type为submit的input标签,强制要求页面刷新,因为页面刷新了,那么ajax返回的信息来到了一个完全陌生的页面,自然返回的是失败啊。 

<input type="submit" value="登录"  οnclick="ajax_login(lusername.value,lpassword.value)"/> 


 解决方案

<input type="button" value="登录"  οnclick="ajax_login(lusername.value,lpassword.value)"/>

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_37591637

请给我持续更新的动力~~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值