为什么$ .ajax(..)对我不起作用?

时间:2010-03-23 20:52:30

标签: jquery

我正在从文件中运行jquery。我正在尝试从我的localhost加载一个svg文件来填充svg画布。但是,这不能按预期工作。 我从文件系统做什么:

$.ajax({ url: url ,
    timeout: 1000,
    complete: function(xml) {
        alert('complete');
    },
    success: function(xml, status, xreq) {
        alert('success');
    },
    error: function() {
        alert('error');
    }
});

网址为:http://localhost/image.svg,当我直接从浏览器的地址栏中读取此网址时,网页仍为白色但页面源显示image.svg的来源。
调试上面的$ .ajax代码,显示成功:方法被命中,但xml响应仍为空 非常感谢任何帮助 问候, 的Jeroen。

2 个答案:

答案 0 :(得分:1)

如果localhost上的web服务器没有为SVG文件发送正确的mime类型,那么.ajax调用将忽略这些内容。尝试一个vanilla XML文件,然后将其重命名为xml.nonsense,你会看到相同的效果。

答案 1 :(得分:0)

如果只是我会更加关注,Pekka会问正确的问题。 原始文件(加载svg内容的文件)是从文件系统而不是浏览器提供的。我确定为什么ajax读取不起作用但将它放在同一台服务器上解决了这个问题。