为自定义Web服务器中的AJAX调用设置的标题

为自定义Web服务器中的AJAX调用设置的标题,ajax,http,http-headers,xmlhttprequest,webserver,Ajax,Http,Http Headers,Xmlhttprequest,Webserver,我正在编写一个自定义web服务器。当我在浏览器中输入服务器的URL时,我会正确地将示例文本写入浏览器中的套接字。这是我写的HTTP响应: HTTP/1.1 200 OK\r\n Server: My Server\r\n Date: Blah\r\n Content-Type: text/plain\r\n \r\n This is some sample text. This appears in my browser correctly when I connect directly to

我正在编写一个自定义web服务器。当我在浏览器中输入服务器的URL时,我会正确地将示例文本写入浏览器中的套接字。这是我写的HTTP响应:

HTTP/1.1 200 OK\r\n
Server: My Server\r\n
Date: Blah\r\n
Content-Type: text/plain\r\n
\r\n
This is some sample text. This appears in my browser correctly when I connect directly to the server entering the URL.

但是,如果我使用Ajax(jQuery)访问相同的URL,然后在HTML页面上设置元素的innerHTML,则不会打印任何数据。是否需要在web服务器上设置任何其他标头,以便浏览器的XMLHttpRequest对象检测响应?

可能需要
内容类型
可能需要
内容类型

我尝试设置内容类型:text/plain,但仍然不起作用。@ErJab,这是跨域的吗?请使用firebug检查标题,它是否正确获取。是的,它是跨域的,但我通过处理浏览器发送的选项请求来处理它。在Firebug中,我看到浏览器首先发出选项请求,因为它是跨域的,然后发出GET请求。当我检查响应标题时,所有标题都设置正确,但仅缺少内容。只是为了说明关于Cross domain的情况,默认情况下不允许使用它,您需要设置
访问控制允许来源:
,更多信息在这里我试着设置内容类型:text/plain它仍然不起作用。@ErJab,这是跨域的吗?请使用firebug检查标题,它是否正确获取。是的,它是跨域的,但我通过处理浏览器发送的选项请求来处理它。在Firebug中,我看到浏览器首先发出选项请求,因为它是跨域的,然后发出GET请求。当我检查响应标题时,所有标题都已正确设置,但仅缺少内容。请注意关于Cross domain的说明,默认情况下不允许使用它,您需要设置
访问控制允许来源:
,此处的更多信息感谢您的链接,@S.Mark:Used firebug查看本例中的实际标题:感谢您提供链接,@S.Mark:Used firebug查看本例中的实际标题: