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内容。
如果我将文件放在服务器中以便以这种方式访问它,它可以正常工作:
谢谢大家!