失败的AJAX请求后显示div(div总是隐藏)

时间:2016-09-07 00:52:03

标签: jquery html css ajax

使用以下代码显示div通知时出现问题:

$.ajax({    
    url: url,
    cache: false,  
    async: false,
    success: function (data) 
    {
        response = jQuery.parseJSON(data);
    },
    error: function(){
        showAlert('contentContainer', { type: 'danger', title: 'Error', text: 'Connection Failed' });
    }
});

当服务器关闭时,div应显示。但是div总是被隐藏起来。当没有发生网络错误时,在其他地方使用showAlert()方法工作正常。

function showAlert(parentDiv, options) {
    $alertDiv = $('<div></div>')
        .show()
        .prop({ id : 'alert'})
        .addClass('alert-' + options.type)
        .append($('<button></button')
            .attr({ type: 'button'})
            .addClass('close')
            .data('dismiss', 'alert')
            .html('X')
            .on('click', function() {
                $(this).parent().remove();
            })
        );

    if("title" in options) {
        $alertDiv.append($('<h4></h4>')
            .html(options.title)
        );
    }

    $alertDiv.append($('<p></p>')
        .html(options.text)
    );

    $('#' + parentDiv).prepend($alertDiv);
}

浏览器控制台:

Failed to load resource                     http://192.168.182.130:8080/js/jquery-3.1.0.min.js
  send                                      jquery-3.1.0.min.js:4
  r.extend.ajax                             jquery-3.1.0.min.js:4
  getFromDatabase                           utils.js:251
  (anonymous function)                      (index):39
  r.event.dispatch                          jquery-3.1.0.min.js:3
  q.handle

这里有什么想法吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

嗯......我找到了解决问题的方法。

但我不知道为什么会这样。

$alertDiv = $('<div style="display: block !important"></div>')

上面的代码对我有用。谢谢你的帮助!