我有一种情况需要从另一台服务器中存在的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的本地主机相同。但是,当它在服务器中部署时失败。
有人能说出这里有什么问题吗?或者,实现此目的的任何其他方式。
提前致谢。