如何用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");
相关文章:
- IIS动态HTTP响应标头
- 我如何设置HTTP头“;访问控制允许起源”;用于来自thttpd web服务器的HTTP响应
- Http响应拆分安全问题的XMLHTTPRequest/Response用例的Filter实现
- 使用Express筛选HTTP响应
- 使用不同参数的超级代理缓存缓存 HTTP 响应
- 如何无限期缓存HTTP响应
- 如果HTTP响应为404,脚本标记会被阻塞吗
- Angular 2:用HTTP响应填充复选框列表
- 如何访问您没有访问的HTTP响应的标头't使用javascript通过AJAX发送
- string http响应!=javascript中的相同字符串
- 拦截$resource和$http响应angular
- HTTP响应中出现意外内容
- 如何在java脚本中从http响应生成blob
- 如何记录Apache Cordova应用程序中加载的iframe的http响应
- 如何缓存$http响应以便在angularjs中重用
- 如何将$http响应值传递给另一个函数
- 检查 http 响应代码以显示相应的失败消息
- $http响应拦截器标头
- 在封闭的 python 服务器上的 ajax 请求中获取 0 作为 Http 响应代码
- 如何正确编写 http 响应以便使用 XHR 进度事件侦听器