如何用Angular JS获取Slim PHP Api的http响应内容


How to get http response content of Slim PHP Api with Angular JS?

我有一个API编程与Slim PHP发送JSON响应,像这样:

$response['some-text'] = 'blabla';
$app->response->setStatus(200);
$app->response()->headers->set('Content-Type', 'application/json');
echo json_encode($response, JSON_UNESCAPED_UNICODE);

现在,当我在浏览器中打开API url时,消息将按需要显示。但是,如果我在ionic应用中使用angular JS打开相同的url,像这样:

$http.get("URL").success(function(response) {console.log(response)});
当我检查控制台之后,我只看到代码(200),但没有JSON与消息。但是,我确信API确实正确地接收了调用,因为像向数据库添加项这样的操作执行得很好。但是我怎样才能得到回应呢?

/编辑下面是控制台的屏幕截图,显示了空响应

的样子

头:https://i.stack.imgur.com/L2Zt6.jpg

答:https://i.stack.imgur.com/Xbv0J.jpg

我找到了一个解决方案。虽然我不确定这是一个好方法,但它确实有效。

我将这段代码添加到php的响应函数中:

$app->response()->headers->set('Access-Control-Allow-Origin', '*');
$app->response()->headers->set('Access-Control-Allow-Methods', 'GET'); //or whatever you need
$app->response()->headers->set('AAccess-Control-Allow-Headers', 'X-Requested-With');

,如果你不使用精简php,它应该等于:

header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET');
header("Access-Control-Allow-Headers: X-Requested-With");