0

我的应用程序托管在: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(版本 23.0.1271.97 Ubuntu 12.04 (23.0.1271.97-0ubuntu0.12.04.1))上的 Chromium 中运行它

4

2 回答 2

1

您不需要指定域,请尝试:

$('body').load('/static/views/testing.html');
于 2013-01-29T04:33:23.093 回答
1

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

于 2013-01-29T04:42:26.927 回答