在$ .post中使用$ .ajax?

时间:2015-04-05 13:34:17

标签: jquery ajax post

我有这个代码js:

$(document).on("click", "#nextMonth", function(e) 
{
   $.post(
     'ajax/genererCalendrier.php',
     {
       "mois":mois, "annee":annee
     },
     function(data)
     {
         data = jQuery.parseJSON(data);  
     }).success(function()
     {
       $('#divCalendrier').html(calendrier);
       $.ajax(
       {
         url: 'ajax/genererCalendrier.php',
         type: 'POST',
         data:
         {
           'action':'rafraichir_nombre_jours_conges' 
         },
         dataType:'text',
         success: function(retour_php)
         {
           alert(retour_php);
         },
         error: function()
         {
          alert("pas ok");
         }
       });
     }).error(function()
     {
        $('#divCalendrier').html('<p class="error">Erreur lors de la requête AJAX</p>');
     });
});

此警报无法启动:

alert(retour_php);

我的代码($ .ajax到$ .post)是否正确?

我对萤火虫没有错误。

1 个答案:

答案 0 :(得分:1)

我无法理解您的javascript逻辑。如果您使用以下语法:

$.post(
  'ajax/genererCalendrier.php',
  {
    "mois":mois, "annee":annee
  },
  function(data)
  {
      data = jQuery.parseJSON(data);  
  })

您已经在功能中拥有success处理程序和success event doesn't fire at all! I suggest you add alert`消息,如下所示:

$.post(
  'ajax/genererCalendrier.php',
  {
    "mois":mois, "annee":annee
  },
  function(data)
  {
      data = jQuery.parseJSON(data);
      alert(data);
  })

我确定你会得到这个消息,一切都会奏效。所以你的代码应该是这样的:

$.post(
  'ajax/genererCalendrier.php',
  {
    "mois":mois, "annee":annee
  },
  function(data)
  {
     data = jQuery.parseJSON(data);
     $('#divCalendrier').html(calendrier);
     $.ajax(
     {
       url: 'ajax/genererCalendrier.php',
       type: 'POST',
       data:
       {
         'action':'rafraichir_nombre_jours_conges' 
       },
       dataType:'text',
       success: function(retour_php)
       {
         alert(retour_php);
       },
       error: function()
       {
        alert("pas ok");
       }
     });
  },
  error:function()
  {
     $('#divCalendrier').html('<p class="error">Erreur lors de la requête AJAX</p>');
  })

Complete $.post documentation