如何进行跨域ajax调用以获取纯HTML内容

时间:2015-01-27 12:01:30

标签: javascript jquery html ajax cross-domain

我有一种情况需要从另一台服务器中存在的HTML文件中获取数据。它将只包含纯文本内容而不包含任何其他内容。我无权更改任何内容,也无法获得任何结构化的HTML。我所拥有的只是存储在http://host1.demoserver.com中托管的HTML中的文本内容。

现在,从http://host2.demoserver.com托管的应用程序中,我需要通过ajax调用获取内容。问题是没有实施CORS 。所以,根据我的知识水平,我有一个选项JSONP。但是,当我使用JSONP进行ajax调用时,我可以在Firebug中看到响应,但它开始抛出javascript异常。我想到的原因(可能是我不正确)是因为内容作为回调参数包含未定义的变量。

HTML文件:copyright-info.html

This is a simple copyright info which needs to be rendered.

而且,如果我们使用ajax调用进行调用:

$.ajax({
    url: "http://host1.server.com/static/copyright-info.html?callback=?",
    method: "GET",
    dataType: "jsonp",
    jsonpCallback: "callback",
    callback: function(result) {
         //code to excute after success
    }
});

然后,回复就像:

callback(This is a simple copyright info which needs to be rendered.)

并且,由于参数不是双引号,因此无法识别并抛出异常。

第二,当它在localhost时,整个事情没有JSONP。而且,我猜,http://host1.demoserver.com将与http://host2.demoserver.com的本地主机相同。但是,当它在服务器中部署时失败。

有人能说出这里有什么问题吗?或者,实现此目的的任何其他方式。

提前致谢。

0 个答案:

没有答案