AJAX适用于Firefox,但不适用于Chrome

好的,我有这个HTML代码:

       


这个javascript代码:

  $(document).ready(function() { $('.Button').click(function() { var href = $(this).attr('href'); if( typeof href != "undefined" && href != ""){ $.ajax({ url: href, dataType: 'text', success: function(data) { //alert($(data).contents().contents().text()); $('#content').html(data); ultXML = href; } }); } }); }); 

上面的代码让我在div内容中加载3个不同的xml文件,根本没有标签。 它在Firefox上运行正常,但它不适用于Chrome(无论是Wind还是Ubuntu Chromium)

将if条件更改为if(href) { ... 您正在检查值是未定义的还是空字符串,如果您执行if(href) { ... ,则它们将评估为false。

我现在正在Windows中使用chrome,你的代码似乎工作(当然它会引发我404错误,因为我没有文件)。

如果这不能解决您的问题,请尝试打开Chrome开发人员工具,并检查是否在“网络”中看到了ajax请求。

更新:在ajax成功时为jsfiddle添加了一个空白警报

我终于发现了什么是愚蠢的新手错误! 代码没有错,运作良好。 问题是当我在本地测试时:

file:///home/…/index.html(导航浏览器栏)

FF可以找到./es/uno.xml的路径但是(我知道为什么)Chrome不能。 所以它什么都没有取代DIV内容。

如果我将文件放在服务器中以便以这种方式访问​​它,它可以正常工作:

http://example.com

谢谢大家!