Ajax函数替换消息

时间:2016-09-27 09:08:37

标签: javascript jquery html ajax

我想用div替换ajax中的消息的默认窗口,例如我想用div替换此代码:alert(data.status + ": " + data.message);

这是我的ajax代码:

//Start ajax code
                if(!url){
                   url = jQuery('#product_addtocart_form').attr('action');
                }
                url = url.replace("checkout/cart","ajax/index"); 
                var data = jQuery('#product_addtocart_form').serialize();
                data += '&isAjax=1';   
                jQuery('#ajax_loader').show();
                try {
                    jQuery.ajax({
                          url: url,
                          dataType: 'json',
                          type : 'post',
                          data: data,
                          success: function(data){
jQuery('.messages').remove();
                                jQuery('#ajax_loader').hide();
                                //alert(data.status + ": " + data.message);



                                if(jQuery('.header .links')){
                                    jQuery('.header .links').replaceWith(data.toplink);
                                }

if(jQuery('.mini-cart')){
   jQuery('.mini-cart').replaceWith(data.sidebar);
   var status = data.status;

   showMessage(status.toLowerCase(), data.message);
}

// Create below function in your jquery
function showMessage(txt, type) {
  var html = '<div id="messages_product_view"><ul class="messages"><ul class="messages"><li class="'+type+'-msg"><ul><li>' + txt + '</li></ul></li></ul></div>';
  jQuery('.messages').update(html);
}



                          }
                    });
                } catch (e) {
                }
//End ajax code

现在在这段代码中我有这个错误:

TypeError: jQuery(...).update is not a function
jQuery('.messages').update(html);

2 个答案:

答案 0 :(得分:1)

将text / html设置为可以像这样使用的元素......

var html = '<div id="messages_product_view"><ul class="messages"><ul class="messages"><li class="'+type+'-msg"><ul><li>' + txt + '</li></ul></li></ul></div>';
jQuery('.messages').html(html);

使用.html()函数代替.update()

答案 1 :(得分:1)

$('#messages_product_view').append(html);