带有指定端口的jQuery.load()会破坏URL - 交叉原始错误

时间:2013-01-29 04:30:34

标签: ajax jquery cross-domain

我的应用程序托管在:127.0.0.1:8000

我调用了一个jQuery方法将一些内容加载到容器中(例如简化):

$('body').load('127.0.0.1:8000/static/views/testing.html');

运行这行代码后,我收到了一条错误消息:

  

XMLHttpRequest无法加载%3127.0.0.1:8000 / static / views / testing.html。只有HTTP支持跨源请求。

在某个地方,jQuery正在修改URL并添加“%3”。如果我删除了冒号,%3就会消失。这不是跨源问题,因为源和目标都在127.0.0.1:8000。

是否存在一些我不知道的问题,使用带有URL中的端口说明符的jQuery.load()固有的问题?

我在Ubuntu 12.04 LTS上运行Chromium(版本23.0.1271.97 Ubuntu 12.04(23.0.1271.97-0ubuntu0.12.04.1))

2 个答案:

答案 0 :(得分:1)

您无需指定域名,请尝试:

$('body').load('/static/views/testing.html');

答案 1 :(得分:1)

我很确定load()函数中的第一个参数应该是基于域的URL而不是IP地址。因此,如果您使用$('body').load('http://localhost:8000/static/views/testing.html');,它应该可以正常工作。