2016-10-04 100 views
-1

嘿家伙我试图使用ajax在我的刀片模板中进行更改,当我按下按钮时,它会更改数据库中数据的值,并且我想在此处显示此数据一次在我的刀片模板上。 这是我的Java脚本代码:如何使用ajax更改刀片模板中的数据

(function($){ 
    $('.wishlistForm').on('submit', function(){ 
     var form = $(this); 
     $.ajax({ 
      url: form.attr('action'), 
      data: form.serialize(), 
      method: 'post', 
      dataType: 'json', 
      success: function(response){ 
       var wishlistButton = form.find("button[type='submit']"); 
       var x = parseInt($('.wish-btn-count').text()); 
       if(response.actiondone == 'added') { 
        $('.wish-btn-count').text(x++); 
        console.log(x); 
        wishlistButton.text(response.message); 
       } else if(response.actiondone == 'removed') { 
        $('.wish-btn-count').text(x--); 
        console.log(x); 
        wishlistButton.text(response.message); 
       } 
      } 
     }); 
     return false; 
    }); 
})(jQuery); 

,这里是我想在我的模板改变部分:

<div class="wish-btn-count" id="wishlist"> 
         {{$wishlistcount}} 
        </div> 

所以我该怎么办呢?并记录它返回在控制台中值正确,但不显示它在我看来

+0

的“Java脚本”代码不能操纵刀片模板直接,因为刀片的模板是由PHP编译成HTML – madalinivascu

+0

那该怎么办呢,请@madalinivascu –

+0

您提供应该与您所需数量 – madalinivascu

回答

0

阻止默认提交事件,这样你就可以触发Ajax

$('.wishlistForm').on('submit', function(e){ 
e.preventDefault(); 
+0

我试过了,但它没有工作,错误不在这部分它是在成功函数中键入x值 –

+0

是您的ajax正确触发,有什么转身为您的代码xhr请求? – madalinivascu

+0

是的,它被正确触发,它正确添加和删除数据,但不显示它 –

0

这可能是解决方案。

If you are receiving json object response from the ajax call,first you have to parse that object and then use it. 


Try this, 

(function($){ 
$('.wishlistForm').on('submit', function(){ 
    var form = $(this); 
    $.ajax({ 
     url: form.attr('action'), 
     data: form.serialize(), 
     method: 'post', 
     dataType: 'json', 
     success: function(response){ 
      /*Add this in your code*/ 
      var response = JSON.parse(response.trim()); 
      var wishlistButton = form.find("button[type='submit']"); 
      var x = parseInt($('.wish-btn-count').text()); 
      if(response.actiondone == 'added') { 
       $('.wish-btn-count').text(x++); 
       console.log(x); 
       wishlistButton.text(response.message); 
      } else if(response.actiondone == 'removed') { 
       $('.wish-btn-count').text(x--); 
       console.log(x); 
       wishlistButton.text(response.message); 
      } 
     } 
    }); 
    return false; 
}); 

})(jQuery);

+0

Uncaught TypeError:response.trim不是一个函数,它给了我那个错误 –

+0

尝试不使用修剪。 var response = JSON.parse(response); – Sunil

+0

它仍然无法正常工作 –