我无法将我的ajax $ .get转换为$ .ajax

时间:2017-05-10 14:48:32

标签: javascript jquery ajax

我尝试转换我不理解的ajax函数。这里有原始功能:

$.get(page, function (data) {
  $('.former-students__list').append(data.student
  $('#load-more').data('next-page', data.next_page);
})

我想转换它以使其更具可读性(使用$ .ajax),所以我可以清楚地看到事件成功,等等。

这是我尝试的但是它不起作用

$.ajax({
 url: page,
 data: function (data) {
  $('.former-students__list').append(data.students);
  $('#load-more').data('next-page', data.next_page);
 }
 'success': 'Cool, it's work')
},

感谢您的帮助和解释

3 个答案:

答案 0 :(得分:2)

问题是因为data参数应该是用于发送数据到服务器的对象,字符串或数组。但是,根据您的$.get示例,您实际上根本不需要在$.ajax中使用它。

相反,success属性应该是一个函数,它从请求中接收数据,然后对其执行操作。试试这个:

$.ajax({
  url: page,
  success: function(data) {
    $('.former-students__list').append(data.students);
    $('#load-more').data('next-page', data.next_page);
  })
});

有关详细信息,请阅读jQuery $.ajax documentation

答案 1 :(得分:1)

试试这个:

$.ajax({
 url: page,
 success: function (data) {
  $('.former-students__list').append(data.students);
  $('#load-more').data('next-page', data.next_page);
 }
})

我认为data属性用于POST请求有效负载。

答案 2 :(得分:1)

你应该触发成功回调事件,所以试试这个:

  $.ajax({
      url: page,  
      success: function(data) {
         $('.former-students__list').append(data.students);
         $('#load`enter code here`-more').data('next-page', data.next_page);
      }
   });