我尝试从Http Get Request获取文本:
这是一个用于纠正文本的小型网络服务。
http://193.196.7.26/cgi-bin/ColorError-line.pl?arg_childText=Ich%20gehe%20in%20die%20schule.&arg_errors=MOR_GrS;MOR_KS&arg_corrText=Ich%20gehe%20in%20die%20Schule.
当我使用浏览器(即Chrome)调用该服务时,我会看到更正的文本。
现在我在Javascript中尝试这个:
var http2 = new XMLHttpRequest();
var url1 = "http://193.196.7.26/cgi-bin/ColorError-line.pl?arg_childText=Ich%20gehe%20in%20die%20schule.&arg_errors=MOR_GrS;MOR_KS&arg_corrText=Ich%20gehe%20in%20die%20Schule."
http2.open("GET", url, false);
http2.setRequestHeader("Content-type", "text/plain");
http2.send(null);
var temp = http2.responseText;
但是responseText是空的。有什么想法吗?
答案 0 :(得分:0)
您必须设置Access-Control-Allow-Origin
标题。
在.htaccess
:
<Files "ColorError-line.pl">
Header set Access-Control-Allow-Origin *
</Files>
或打印此标题:
Access-Control-Allow-Origin: *
这将允许来自任何域的跨域访问,而不仅仅是您的。要仅允许您的域,您应该将其设置为
Access-Control-Allow-Origin: http://yourdomain.com
最后没有斜线,但是如果你的域名发生变化,你必须记得改变它。这也适用于.htaccess
版本。
更新:此外,您可以按照建议here创建代理脚本来执行此操作。但是,我建议您过滤发送到代理的URL,或者有人可以通过下载大文件来为您的网站创建大量额外的流量。