您可能还会查看返回HTTP错误代码,而不是在请求未真正成功时返回“成功”响应(HTTP状态代码200),然后使用
error回调来处理不成功的请求。
但是,如果您想继续使用状态码200(很多人这样做):
客户端和服务器之间传输的数据 始终
是文本。诀窍是要确保客户端和服务器就客户端应如何反序列化文本(在收到后进行转换)达成一致。通常,您可能会返回以下四种情况之一:
HTML(如果要填充页面元素)
JSON(如果您想要一种轻巧,快速的方法来将数据发送到客户端)
XML(如果您希望使用更重的快速方法将数据发送到客户端)
纯文本(实际上是您想要的任何内容)
客户端的操作将取决于
Content-Type您在PHP页面中使用的标头。
我的猜测是,您使用的是几种内容类型中的任何一种,最终都会将数据作为字符串传递给回调。该字符串
"true"是truthy,但这样是 字符串
"false"(仅空字符串falsey)。
长话短说:我可能会在我的PHP中使用它:
header('Content-Type', 'application/json');…并从中返回此文本:
{"success": true}要么
{"success": false}…然后在您的成功处理程序中:
if (response.success) { // It was true}else { // It was false}或者,您可以返回
Content-Typeof
text/plain并使用
if (response === "true") { // It was true}else { // It was false}…但是这是一种手动反序列化,您可以在其中获得基础架构为您完成的工作。



