我有一个 REST PHP API 来获取一些数据,我使用 AngularJS $resource 来收集它们。
当 $save 后发生 PHP 错误时,调用的函数不是错误回调而是成功回调,并且对象变成了一个带有 PHP 错误的字符数组。由于对象实际上是通过这种方式销毁的,因此我丢失了原始数据。
有没有办法让 $resource 看到错误?
我有一个 REST PHP API 来获取一些数据,我使用 AngularJS $resource 来收集它们。
当 $save 后发生 PHP 错误时,调用的函数不是错误回调而是成功回调,并且对象变成了一个带有 PHP 错误的字符数组。由于对象实际上是通过这种方式销毁的,因此我丢失了原始数据。
有没有办法让 $resource 看到错误?
出错时,您的 API 需要返回 2xx 以外的状态。如果您查看源代码,您可能会发现只有满足以下条件才会调用成功回调:
200 <= status && status < 300
您需要在 PHP 中处理错误并使用 php 返回正确的错误代码 使用 header 函数返回错误代码,如下所示:
header('HTTP/1.1 500 Internal Server Error');