不加载ajax图层中的javascript

时间:2014-02-16 08:35:06

标签: javascript ajax

原来我使用ajax来更改div的内容以更改并向我显示不同的滑块,在这里我传递文件,如果你可以看看,我有几天试图找到网络的答案并尝试不成功的代码。< / p>

档案:https://dl.dropboxusercontent.com/u/27792874/ejemplo.rar

Ajax代码:

 <script>
function nuevoAjax(){

    var xmlhttp=false;
    try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
    try {
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (E) {
    xmlhttp = false;
    }
    }

    if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
    xmlhttp = new XMLHttpRequest();
    }
    return xmlhttp;

} 



function Cargar(url){


var centro_galeria = document.getElementById('centro_galeria'); 


ajax=nuevoAjax(); 
ajax.open("GET", url,true); 

ajax.onreadystatechange=function(){

if(ajax.readyState==4){


centro_galeria.innerHTML=ajax.responseText;

}

}

ajax.send(null);




}


</script>

1 个答案:

答案 0 :(得分:0)

我下载并阅读代码 - 我有以下建议:不要将jQuery与技术混合使用。

此代码似乎是正确的

$(document).ready(function(){

$('#slider1').cycle({
    fx: 'fade', //'scrollLeft,scrollDown,scrollRight,scrollUp',blindX, blindY, blindZ, cover, curtainX, curtainY, fade, fadeZoom, growX, growY, none, scrollUp,scrollDown,scrollLeft,scrollRight,scrollHorz,scrollVert,shuffle,slideX,slideY,toss,turnUp,turnDown,turnLeft,turnRight,uncover,ipe ,zoom
    speed:  '600', 
    timeout: '7000',
    next:   '#next', 
    prev:   '#prev',
    pager:  '#thumb',
       pauseOnHover: false,                 // if you hover pauses the slider
        startClockOnMouseOut: false,        // if clock should start on MouseOut


    pagerAnchorBuilder: function(idx, slide) { 
        return '<li><a href="#"><img src="' + slide.src + '" width="43" height="29" /></a></li>'; 
    }  
});
});

但是

function nuevoAjax(){

var xmlhttp=false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}

if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;   
} 

function Cargar(url){
var centro_galeria = document.getElementById('centro_galeria'); 

ajax=nuevoAjax(); 
ajax.open("GET", url,true); 

ajax.onreadystatechange=function(){

if(ajax.readyState==4){
     $.getScript("js/jquery.min.js");
$.getScript("js/jquery.cycle.all.js");

centro_galeria.innerHTML=ajax.responseText;

}
}     
ajax.send(null);
}

相互冲突 - 因为你将用技术编写的ajax的函数与jQuery ajax技术结合起来。

我认为大多数问题都是这段代码:

ajax=nuevoAjax(); 
ajax.open("GET", url,true);

因为.open('GET', url, true)是jQuery的问题 - 但ajax=nuevoAjax();是经典问题

解决方案是:仅使用jQuery ajax技术。当然,如果您已经在页面的<head>部分中链接了jQuery,则无需再次通过else ajax调用它。