【问题标题】:jQuery .post() not executingjQuery .post() 未执行
【发布时间】:2013-07-15 06:17:21
【问题描述】:

我通过 jQuery 进行了以下 AJAX 调用:

// var upload = some JSON data
$.post('/videos/upload', upload);

还有这个处理请求的 express.js API 部分:

app.post('/videos/upload', function(request, response) {
    console.log('Request received')
}

但是,当 .post() 被调用时,它似乎并没有被执行。在 Firebug 的 Net 记录器中看不到该请求,并且 node.js 控制台也不记录任何内容。

当我直接在 Firebug 控制台中输入请求时,它执行得很好。

使用 $.ajax() 也不起作用。

提前致谢。

【问题讨论】:

  • 设置断点,看看是否真的到达了这行代码。控制台中是否还有其他错误?
  • 尝试使用完整的 URL,而不是相对的,就像测试一样。
  • @Banning 如果upload 是查询字符串、对象/数组或函数,则$.post('/videos/upload', upload); 没有任何问题。
  • @FelixKling:我试过了,它确实达到了那条线。 @KevinB:upload 是一个对象。

标签: javascript jquery ajax node.js post


【解决方案1】:

要排除故障并隔离问题,您需要确定这是后端问题还是前端问题。

后端检查

尝试使用Postman 之类的方法直接使用应发布的数据访问端点。如果您永远无法执行 console.log,那么您的路线可能会遇到一些问题。

前端检查

如果可行,请查看 Chrome 中开发工具的“网络”选项卡,确保请求与您在 Postman 中发出的请求相同。

【讨论】:

  • -“查看 Chrome 中开发工具的网络选项卡” 这就是问题所在,它根本没有显示在那里。不过,感谢您的提示;我会再做一些故障排除,看看情况如何。
  • @beefers1 您是否通过直接点击端点来测试 NodeJS 部分?如果是这样,那么这根本不是一个节点问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-03
  • 1970-01-01
  • 2021-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多