gpt4 book ai didi

java - 为什么我的 AJAX 请求收到空响应文本

转载 作者:太空宇宙 更新时间:2023-11-04 08:26:24 25 4
gpt4 key购买 nike

我使用 Javascript 函数向 Java servlet 发送请求,servlet 写入内容类型设置为“text/plain”的响应。我已经使用 Firebug 跟踪了这一点,并且 request.responseText 始终为 null,即使请求完成时状态为 200(正常)。为什么responseText为空?

我之前曾使用 Java 客户端尝试过此操作,它确实成功收到了响应。

  google.maps.event.addListener(map, 'click', function(event) {
var request = new XMLHttpRequest();
request.open("POST", <MY URL>, true);
request.onreadystatechange = function() {
if (request.readyState == 4) {
var resp = request.responseText;
console.log(resp);
}
}

request.send(null);
});

更新:

按照给出的答案中的建议,我使用 Chrome,并查看 Javascript 控制台,我注意到以下错误

XMLHttpRequest cannot load http://localhost:8080/... Origin null is not allowed by Access-Control-Allow-Origin.

在我的服务器代码中,我使用以下代码在 HTTP 响应中设置适当的 header

setHeader("Access-Control-Allow-Origin", "*");

瞧 - 响应中按预期返回了 42K 数据!

最佳答案

您使用的是哪种浏览器?尝试使用 Chrome 并查看网络和控制台输出。

由于我正在执行 XDR 请求,我也有类似的头痛。在 FF 上,一切似乎都正确,并返回 200 代码,但使用 chrome,您可以获得更多信息,并且会看到“Access-Control-Allow-Origin”错误。

在您的服务器端尝试设置“Access-Control-Allow-Origin: *”以允许来自任何源页面的请求。

关于java - 为什么我的 AJAX 请求收到空响应文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8424278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com