$.Ajax加载HTML代码并在之后显示,就像使用JQuery.load一样

$.Ajax加载HTML代码并在之后显示,就像使用JQuery.load一样,ajax,load,show,Ajax,Load,Show,我有个问题,因为我真的不明白。。。 我有代码两个功能,一个工作,另一个不是,我真的想了解为什么请 当我这样做时: $("#divLogin").load("./affichage/choixFormat.html", function() { $("#choix-box").fadeIn(300); }); 它工作得很好,它在DIV中加载HTML,然后显示它 但是我有一个代码,它是使用$.Ajax编写的最好的脚本,但不起作用: $.ajax({ url: "./affi

我有个问题,因为我真的不明白。。。 我有代码两个功能,一个工作,另一个不是,我真的想了解为什么请

当我这样做时:

$("#divLogin").load("./affichage/choixFormat.html", function() {
    $("#choix-box").fadeIn(300);
});
它工作得很好,它在DIV中加载HTML,然后显示它

但是我有一个代码,它是使用$.Ajax编写的最好的脚本,但不起作用:

$.ajax({
        url: "./affichage/choixFormat.html",
        type: "POST",
        async: false,
        cache: true,
        dataType: "html",
        beforeSend: function() {
        $("#loading").removeClass("hide");
        },
        timeout: 5000,
        error: function(request, textStatus, errorThrown) {
            console.log(request.status);
        },
        success: function (msg, textStatus, request) {
        $("#divLogin").html(msg);
        }
    });
$("#choix-box").fadeIn(300);
javascript试图在加载完成之前淡出DIV,我想。。。 但我不明白为什么。。。我已经选择了异步:false! 而我在成功后也会褪色

我更喜欢使用$.Ajax,因为我们可以用它制作更多的东西。。。 谁能告诉我为什么它不起作用? JQuery.load工作正常:(

谢谢


我错了抱歉,这两种解决方案不起作用:( 我必须为fadeIn it加载两次DivLogin:(

我还尝试做:

request.done(function(msg) {
    console.log("End of div loading");
    $("#choix-box").fadeIn(300);
});
但它也不起作用:( 我只有控制台中的日志。 DOM太长,无法加载HTML,无法显示它…这就是为什么我必须第一次加载它,然后在第二次执行脚本的原因

请问谁有其他的解决方案


现在我尝试了太多的事情…目前最好的是:

$('#div').ready( $("#div").fadeIn(300) );
但它并不总是完美的:( 在JQuery中真的没有真正的解决方案吗


好的,这里是我最后一个不总是显示我的div的代码:( 有时是,有时不是,不可能理解为什么

$('body').prepend('<div id="divChoiceFormat"></div>');
//getContenu('./affichage/choixFormat.html', 'divChoixFormat');

// CSS Load
appendCss("./style/choiceFormat.css", "choiceFormatCSS")

$("#divChoiceFormat").load("./affichage/choiceFormat.html", function() {

    // When ready
    $('#divChoiceFormat').ready( $("#choice-box").fadeIn(300) );
}
$('body')。前置('');
//getContenu('./affichage/choixFormat.html','divChoixFormat');
//CSS加载
附录css(“./style/choiceFormat.css”、“choiceFormatCSS”)
$(“#divChoiceFormat”).load(“./affichage/choiceFormat.html”,函数(){
//准备好了吗
$(“#divChoiceFormat”).ready($(“#选择框”).fadeIn(300));
}
要在生成HTML之前加载CSS,请执行以下操作:

function appendCss(url, id) {

    var link = $("<link>");
    link.attr({
        charset: "UTF-8",
        media:   "all",
        type:    'text/css',
        rel:     'stylesheet',
        id:      id,
        href:    url
    });
    $("head").append( link );

return false;
}
函数appendCss(url,id){
变量链接=$(“”);
link.attr({
字符集:“UTF-8”,
媒体:“全部”,
键入:“text/css”,
rel:'样式表',
id:id,
href:url
});
$(“标题”)。附加(链接);
返回false;
}
也许我的订单是假的?

把这个
$(“#choix box”).fadeIn(300)
放在ajax success中

success: function (msg, textStatus, request) {
        $("#divLogin").html(msg);
        $("#choix-box").fadeIn(300);
}
将这个
$(“#choix box”).fadeIn(300)
放在ajaxsuccess中

success: function (msg, textStatus, request) {
        $("#divLogin").html(msg);
        $("#choix-box").fadeIn(300);
}
这显然是可行的。 如果没有,html中还有其他东西

  • 检查所有块的ID是否为uniq,否则使用类 使用多个块多次调用
  • 也请检查您的相对路径:“./affichage/choixFormat.html”
  • 最后,将响应缓存在实例中以重复加载() 效率很高
  • 请不要在ajax调用中使用Html…这是有史以来最糟糕的做法
这显然是可行的。 如果没有,html中还有其他东西

  • 检查所有块的ID是否为uniq,否则使用类 使用多个块多次调用
  • 也请检查您的相对路径:“./affichage/choixFormat.html”
  • 最后,将响应缓存在实例中以重复加载() 效率很高
  • 请不要在ajax调用中使用Html…这是有史以来最糟糕的做法

请提供其他解决方案……我想我还不太了解Ajax命令是如何处理结果的!
$(“#加载”).addClass(“隐藏”)
还应该添加到你的success函数中。除此之外,我认为我们需要查看你的
HTML
。我已经在我的代码后添加了。我在DOM中创建了一个div加载CSS在div中加载HTML显示div,但有时div在这里,我可以在DOM中用chromedebug看到它,但它像在CSS中一样隐藏,显示不会出现rk!您还有其他解决方案吗?我想我还不知道Ajax命令是如何处理结果的!
$(“#加载”).addClass(“隐藏”)
还应该添加到你的success函数中。除此之外,我认为我们需要查看你的
HTML
。我已经在我的代码后添加了。我在DOM中创建了一个div加载CSS在div中加载HTML显示div,但有时div在这里,我可以在DOM中用chromedebug看到它,但它像在CSS中一样隐藏,显示不会出现rk!如果使用id作为选择器,则整个HTML中的id必须是uniq id…如果您有多个id=“#choix box”,则脚本无法正常工作。并且不要对HTML使用ajax调用…load()不够。如果使用id作为选择器,则整个HTML中的id必须是uniq id…如果您有多个id=“#choix box”,您的脚本工作不正常。并且不要对html使用ajax调用…load()不够。