为什么jQuery会将具有空内容的200响应Ajax请求视为fail()?
首先,根本没有跨区域问题。
我发现如果服务器响应一个空的内容体,jQuery认为这是fail()?
为什么是这样?
如果您使用的是jQuery> = 1.9,则根据API文档 ,将拒绝空的JSON响应:
JSON数据以严格的方式解析; 任何格式错误的JSON都会被拒绝,并抛出一个解析错误。 从jQuery 1.9开始,空响应也被拒绝; 服务器应该返回
null
或{}
的响应。
WynandB是正确的,但是有另一种解决方案:让服务器返回HTTP 204 No Content
,这将使jQuery忽略解析错误。