自定义服务器的AJAX HTTP协议响应问题

时间:2010-04-27 09:17:00

标签: ajax http protocols

我已经开始向自定义C#非网络服务器应用程序添加HTTP支持,当直接在浏览器中输入URL时,它似乎可以在Firefox / IE / Chrome中正常工作 - 我可以在其中看到返回的文本字符串我的申请页面。

问题是,当我尝试在网页上的JavaScript中使用HTTPRequest时,我没有得到Chrome或Firefox的响应(在IE中没问题) - 而是从HTTPRequest对象获得零状态。然而,我可以看到我的应用程序从其调试输出接收到来自浏览器的请求并提供响应,因此浏览器不能像我在这种情况下发送的响应,除了IE不那么挑剔。

我在尝试不同的POST和GET请求之间交换无效 - 例如:

request.open('GET',url,true); request.onreadystatechange = mycallback; //request.setRequestHeader('Content-type','application / x-www-form-urlencoded'); request.send(NULL); //尝试''以及其他数据与POST

我尝试过的最简单的服务器回复是:

HTTP / 1.1 200 OK \ r \ n 内容长度:20 \ r \ n Content-Type:text / plain \ r \ n \ r \ n ...........

我试过1.0而不是1.1,不同的标题,例如Connection:Close,Accept-ranges和其他随机的东西,因为我试图模仿我在Wireshark看到的其他类似的响应。

显然它必须是简单的东西,但神奇的组合让我望而却步!

非常感谢提前。

1 个答案:

答案 0 :(得分:2)

就此而言,我已经回答了我自己的问题,那就是跨域安全功能。

我现在通过添加额外的响应标题来解决这个问题:

“Access-Control-Allow-Origin:*”

希望将来对其他人有用!