javascript - Chrome 中快速挂 AJAX 删除后

标签 javascript jquery ajax express http-delete

当通过 jQuery 发出同源 AJAX 删除时,通过同一客户端对服务器的后续调用将挂起。我将问题摘录如下。如果某些内容格式错误,请告知,因为这看起来像是一个奇怪的错误。

使用 Express 3.5.1、jQuery 1.11.0 和 Chrome 33.x。

复制:

  1. 使用下面的代码创建目录并安装 Express 依赖项
  2. 节点main.js
  3. 在 Chrome 33 中访问 localhost:5000
  4. 点击模拟删除链接
  5. 稍等片刻,刷新

在网络区域中,Chrome 将正常处理 DELETE 请求,但后续服务器调用将保持“待处理”状态。我尝试过 HTML 和 JSON 数据类型和响应。

main.js:

// Dependencies
var http = require('http'),
    express = require('express');

// Basic app
var app = express();

// Logging (for debugging), and parsing dependencies
app.use(express.logger());
app.use(express.json());
app.use(express.urlencoded());
app.use(express.cookieParser());
app.use(express.methodOverride());

// Simple home page
app.get("/", function(req, res) {
  var head   = "<head><script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.0/jquery.min.js'></script></head>",
      body   = "<a id='link' style='text-decoration:underline;cursor:pointer;'>Click here to simulate delete</a>, wait a second, then try refreshing.",
      params = {
        url  : "/item/5",
        type : "DELETE"
      }
      ajax = "<script>$(function() { $('#link').click(function() { $.ajax(" + JSON.stringify(params) + "); }); });</script>"

  res.send("<html>" + head + "<body>" + body + ajax + "</body></html>");

});

// Simulated deletion
app.del("/item/:id", function(req, res) {
  res.send(204);
});

// Make the server listen
var server = http.createServer(app).listen(5000);

最佳答案

这最终成为一个与节点无关的第三方插件(我相信它是 Sophos,但我可能弄错了)。禁用插件后,一切正常。

您可以在此处查看更多信息:https://github.com/strongloop/express/issues/2069

关于javascript - Chrome 中快速挂 AJAX 删除后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23246884/

相关文章:

javascript - Fancybox 弹出窗口 + JSVideo HTML5 视频 - 为什么我失去了控制权?

javascript - 使用 Ajax 和 Python 返回 Highcharts

javascript - jQuery,data()不更新数据属性

javascript - 无法加载dojo.js

javascript - imagemapster 不同的区域有不同的颜色

JavaScript 框架 IE6 兼容性

javascript - 从多个源设置变量的更有效方法?

javascript - GZip 完整的 ASP.NET 网站

javascript - 动态填充 JSON 数组

javascript - 如何使用 javascript 阻止来自特定站点的图像?