我有一个thttpd(http://acme.com/software/thttpd/)我有图像(svg)和JSON文件的web服务器。
我正在开发一个小网页,需要从我的网络服务器检索这些资源,但我总是收到以下错误:
No 'Access-Control-Allow-Origin' header is present on the requested resource.
我知道我必须在服务器端设置Access Control Allow Origin标头,以接受来自任何来源的请求,比如Apache服务器上的.htaccess文件:
Header set Access-Control-Allow-Origin *
但我真的不知道如何在thttpd服务器上做到这一点。到目前为止,我阅读的所有文档和相关主题都是针对Apache、NGINX、IIS6。。。
我拥有修改web服务器上配置文件所需的所有权限(我有root访问权限)。
请注意,我还尝试在我的HTTP请求和Javascript代码中使用"jsonp"作为数据类型,但在尝试检索JSON文件时出现了以下错误。
Uncaught SyntaxError: Unexpected token :
无论如何,我还需要获得SVG格式的图像,所以我希望避免使用"jsonp"作为数据类型。
这是我的javascript代码:
31 $.ajax({
33 url: "http://ip_address/file.json",
34 dataType: "jsonp",
35 crossDomain: true,
36 data: {
37 format: "json"
38 },
39 success: function(data) {
40 var json = $.parseJSON(data);
41 alert(data);
42 }
43 });
任何帮助都将不胜感激!
感谢
在libhttpd.c中,您可以更新响应字符串以包含
更改
"%.20s %d %s 15 12Server: %s 15 12Content-Type: %s 15 12Date: %s 15 12Last-Modified: %s 15 12Accept-Ranges: bytes 15 12Connection: close 15 12"
至
"%.20s %d %s 15 12Server: %s 15 12Content-Type: %s 15 12Date: %s 15 12Last-Modified: %s 15 12Accept-Ranges: bytes 15 12Access-Control-Allow-Origin: * 15 12Connection: close 15 12"
https://github.com/uoaerg/thttpd/blob/master/libhttpd.c#L652