当方法时ajax没有响应

时间:2016-05-24 08:39:02

标签: jquery ajax

我在$ .when:

中调用ajax方法后没有响应
$.when(tht.ajax.getUserDrp()).done(function (data) {
    if(data)  console.log('hava data')
    else  console.log('no data')
});

getUserDrp函数:

getUserDrp: function(){
  $.ajax({
    url: "../account/getLevel" ,
    type: "POST",
    contentType: "application/json; charset=utf-8",
    success: function (data) {
       // do somthing
    }
  });
}

因此总是在控制台中打印“无数据”,为什么?

2 个答案:

答案 0 :(得分:2)

您尝试使用getUserDrp作为承诺,但是您没有返回$.ajax函数结果,这就是.done()永远不会被调用的原因。

尝试:

getUserDrp: function(){
  return $.ajax({
    url: "../account/getLevel" ,
    type: "POST",
    contentType: "application/json; charset=utf-8"
  });
}

答案 1 :(得分:0)

要在完成时使用,您需要按如下方式更改功能

<div>
  <h2>This is a title cat</h2>
  <p>This is a message</p>
  <p>One cat</p>
  <p>Two cat</p>
  <p>Three cat</p>
  <h2>This is a title dog</h2>
  <p>Dog 0</p>
  <p>Dog 1</p>
  <p>Dog 2</p>
  <p>Dog 3</p>
</div>

您也可以使用回调

getUserDrp: function(){
  return $.ajax({
    url: "../account/getLevel" ,
    type: "POST",
    contentType: "application/json; charset=utf-8"
  });
}