gpt4 book ai didi

javascript - 为什么这个 XMLHttpRequest POST 甚至无法连接到服务器?

转载 作者:行者123 更新时间:2023-11-30 13:34:35 25 4
gpt4 key购买 nike

我有一个使用 POST 方法打开的 XMLHttpRequest,指向一个我知道存在的 URL,因为我刚刚对其执行了 GET。然而,XHR 上的 send() 调用实际上并没有打开与服务器的任何连接或发送任何数据——我已经用 WireShark 验证了这一点。相反,它只是使请求失败,调用 onreadystatechange 事件处理程序,将状态设置为 0(这意味着,根据规范,“错误标志”已设置)。

但是……我无法检查哪里出了问题。我已经在 FireBug 中试过了,标题和正文看起来还不错;没有响应主体或响应 header 。控制台输出中的行是一个 POST/url (x),其中 (x) 是一个带有 X 的红色圆圈。任何地方都看不到错误原因。同一行根本不在 NET 面板中。这可能是一个线索,但我不知道是什么。

function save_edits(url, txt, cb)
{
var xhr = new XMLHttpRequest();
console.log("'POST' " + url);
xhr.open('POST', url, true);
xhr.onreadystatechange = function(ev)
{
if (xhr.readyState == 4)
{
console.log('post complete status:' + xhr.status);
cb();
}
}
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
var text = "&" + edit_what + "=" + escape(txt.replace(/\r/g, '\n'));
try
{
xhr.send(text);
}
catch (e)
{
console.log('send() error: ' + e.toString());
}

这在 FireBug 控制台中输出:

  1. '发布' http://mydomain.com/srv.json.section-xna.latest
  2. 发布http://mydomain.com/srv.json.section-xna.latest source.js(第 70 行)
  3. 发布完成状态:0

第 1) 行是我的控制台日志语句。

第2)行是POST XHR请求,红色,圆圈-X表示失败。

第 3 行是来自 onreadystatechange 处理程序的控制台日志语句。

没有出现异常(我把那个检查放在那里只是为了偏执狂)——即使我让 open() 是同步的而不是异步的。

同样,这不是服务器端的问题,因为请求甚至没有发送到网络上,我不知道如何弄清楚这是为什么。

最佳答案

URL 是您的域还是其他域?如果它是备用域,您很可能会因跨域安全问题而被阻止。

关于javascript - 为什么这个 XMLHttpRequest POST 甚至无法连接到服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5414933/

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