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

mko*_*mko 12 jquery

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

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

为什么是这样?

Wyn*_*ndB 15

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

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


pim*_*ttc 14

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