首先,抱歉形成了我可怜的英语,我是卡斯蒂利亚......
我需要帮助:我有一个网络,我从XML文件中捕获数据。
我的代码是:
$(function() {
$.ajax({
type: "GET",
cache: false,
dataType: ($.browser.msie) ? "text" : "xml",
success: parseXML,
error: function(){alert("Error: Something went wrong");}
});
});
function parseXML(){
var xml = null;
if (typeof window.ActiveXObject != 'undefined' )
{ // code for IE
xml = new ActiveXObject( "Microsoft.XMLDOM" );
}
else if((typeof document.implementation != 'undefined' ) && (typeof document.implementation.createDocument != 'undefined'))
{ // code for Mozilla, Firefox, Opera, etc.
//xml = new XMLHttpRequest();
xml = document.implementation.createDocument( "", "", null );
}
else{
xml = new XMLHttpRequest();
}
xml.async=false;
xml.resolveExternals = false;
xml.validateOnParse = false;
xml.load("dades.xml");
total=$(xml).find('llibre').size();
$(xml).find('llibre').each(function(){
var desc = $(this).find('descripcio').text()
var img = $(this).find('imatge').text();
var url = $(this).find('url').text();
....
在这里我使用这些vars,但在Chrome和Opera浏览器中我在$ .ajax中出错({“出错了” 但是在Firefox和Internet Explorer中它可以工作。
非常感谢任何答案
答案 0 :(得分:0)
AJAX调用似乎正确,我在执行Chrome控制台时看不到任何错误。你能发布你得到的完整错误吗?我认为错误发生在parseXML函数中,而不是在AJAX调用中。
答案 1 :(得分:0)
我的完整parseXML函数:
function parseXML(){
var xml = null;
if (typeof window.ActiveXObject != 'undefined' )
{ // code for IE
xml = new ActiveXObject( "Microsoft.XMLDOM" );
}
else if((typeof document.implementation != 'undefined' ) && (typeof document.implementation.createDocument != 'undefined'))
{ // code for Mozilla, Firefox, Opera, etc.
//xml = new XMLHttpRequest();
xml = document.implementation.createDocument( "", "", null );
}
else{
xml = new XMLHttpRequest();
}
xml.async=false;
xml.resolveExternals = false;
xml.validateOnParse = false;
xml.load("dades.xml");
total=$(xml).find('llibre').size();
$(xml).find('llibre').each(function(){
var id_text = $(this).attr('id');
if((id_text>=3*(index-1)) && (id_text<3*index)){
var desc = $(this).find('descripcio').text()
var img = $(this).find('imatge').text();
var url = $(this).find('url').text();
if(id_text%3==0){
//Aquest es el primer element que sortira a la pantalla, cal eliminar els altres abans dels altres per si no s'emplena la pantalla
$('#imatge1').empty();
$('#imatge2').empty();
$('#imatge3').empty();
$('#text1').empty();
$('#text2').empty();
$('#text3').empty();
if(url==""){
//Quan no hi ha url en el arxiu xml, no afegim link a la imatge
$('<li>').html('<img src="'+img+'"/>').appendTo('#imatge1');
}
else{
$('<li>').html('<a href="' + url + '"><img src="'+img+'"/></a>').appendTo('#imatge1');
}
//$("#text1").append(desc);
$('<li>').html(desc).appendTo('#text1');
if(url!=""){
$('<li>').html('<a href="' + url + '"> Link </a>').appendTo('#text1');
}
}
else if(id_text%3==1){
if(url==""){
$('<li>').html('<img src="'+img+'"/>').appendTo('#imatge2');
}
else{
$('<li>').html('<a href="' + url + '"><img src="'+img+'"/></a>').appendTo('#imatge2');
}
$('<li>').html(desc).appendTo('#text2');
if(url!=""){
$('<li>').html('<a href="' + url + '"> Link </a>').appendTo('#text2');
}
}
else if(id_text%3==2){
if(url==""){
$('<li>').html('<img src="'+img+'"/>').appendTo('#imatge3');
}
else{
$('<li>').html('<a href="' + url + '"><img src="'+img+'"/></a>').appendTo('#imatge3');
}
$('<li>').html(desc).appendTo('#text3');
if(url!=""){
$('<li>').html('<a href="' + url + '"> Link </a>').appendTo('#text3');
}
}
}
}); //close each(
}
我认为函数的其余部分并不重要,因为我只将de vars放在html标签中......