2017-01-21 3 views
0

когда я пытаюсь вызвать функцию JQuery в АЯКСЕ функции успеха, но это не называют в функции АЯКСА вот моя функция для функции примера Jquery нижефункция JQuery не работает в Ajax функции успеха

function hello() 
{ 
    alert ("hello"); 
} 

И мой Аякса код ниже

$("#loadmystatus").on('click','#removestatus',function(event){ 
     var statusid=$(this).attr('data-statusid'); 
     var flag="removestatus"; 
     var URL='changeuserstatus_ajax.php'; 
     var userid=$(this).attr('data-userid');    
     datastring='userid='+userid+'&statusid='+statusid+'&flag='+flag; 
     $.ajax({ 
      type:"POST", 
      url:URL, 
      data:datastring, 
      success:function(html){ 
       //dont call this function 
       hello(); 
      }    
     }); 
    }); 

, но эта функция привета() не вызывать функции успеха пожалуйста Раствор

+0

любой ошибки в консоли ?? –

+0

@ Вишал Патель вы попробовали следующий ответ? –

+0

попытайтесь отправить данные объекта вместо строки. –

ответ

0

Вызов функции на Аякса complete: Как это ..

$.ajax({ 
      type:"POST", 
      url:URL, 
      data:datastring, 
      success:function(html){ 
       //dont call this function 

      }, 
      complete:function(html){ 
       hello(); 
      }    
     }); 

ИЛИ использование Аякса .done

$.ajax({ 
      type:"POST", 
      url:URL, 
      data:datastring, 
      success:function(html){ 
       //dont call this function 

      }  
     }).done(function(){ 
      hello(); 
     }); 

Более посмотреть здесь http://api.jquery.com/jquery.ajax/

+0

этот код все еще не работает –

+0

предупреждение («успех») внутри успеха, что выводится? –

+0

Да, он работает –

0

Try, чтобы увидеть, что Ajax успешно завершает свою просьбу или не используют использование обратного вызова ошибки ниже кода

$("#loadmystatus").on('click','#removestatus',function(event){ 
     var statusid=$(this).attr('data-statusid'); 
     var flag="removestatus"; 
     var URL='changeuserstatus_ajax.php'; 
     var userid=$(this).attr('data-userid');    
     datastring='userid='+userid+'&statusid='+statusid+'&flag='+flag; 
     $.ajax({ 
     url:URL, 
     data: { query: encryptData('{"id":'+id+'}')}, 
     method:"post", 
     data:datastring, 
     success: function (data) { 
      /* alert((data))/**/; 
      hello(); 
     }, 
     error: function(){ 
      alert('Error occurred'); 
     } 
    }); 
}); 
0

вы также можете использовать JQuery POST

$.post('URL here ' + '?' + datastring,{null}, function(data) { 
    alert("First Success"); 
}) 
    .done(function(){ 
     alert("second success"); 
    }) 
    .fail(function(){ 
     alert("error"); 
    }) 
    .always(function(){ 
     alert("final finished "); 
    }); 
Смежные вопросы