为什么jQuery会将具有空内容的200响应Ajax请求视为fail()?

首先,根本没有跨区域问题。

我发现如果服务器响应一个空的内容体,jQuery认为这是fail()?

为什么是这样?

如果您使用的是jQuery> = 1.9,则根据API文档 ,将拒绝空的JSON响应:

JSON数据以严格的方式解析; 任何格式错误的JSON都会被拒绝,并抛出一个解析错误。 从jQuery 1.9开始,空响应也被拒绝; 服务器应该返回null{}的响应。

WynandB是正确的,但是有另一种解决方案:让服务器返回HTTP 204 No Content ,这将使jQuery忽略解析错误。