我已经使用[ionic php]为注册表单创建了一个应用程序,我将面临以下问题。
CORS附加组件:激活的 - 当我在http://localhost:8100/ionic-lab
中使用它时,它可以正常工作 CORS附加组件:停用 - 当我在http://localhost:8100/ionic-lab
中使用它并且发生以下提到的错误时,它的起作用不正常。
下面我将解释文件中的代码。
远程服务
constructor(public http: Http) {
this.headers = new Headers()
this.headers.append('Content-Type', 'application/json')
this.headers.append('Content-Type', 'application/x-www-form-urlencoded')
this.headers.append('Access-Control-Allow-Origin', 'http://localhost:8100')
this.headers.append('Access-Control-Allow-Credentials', 'true')
this.headers.append('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS, HEAD')
this.headers.append('Access-Control-Allow-Origin', '*')
this.headers.append('Accept', 'application/json')
this.headers.append('Accept', 'application/x-www-form-urlencoded')
console.log('Hello RemoteServiceProvider Provider');
}
getAllUsers() {
let options = new RequestOptions({ headers: this.headers })
return this.http.get('http://haitutorial.com/HybridApp/listAllUsers.php', options)
.map(res => res.json());
}
getallusers(( - 此功能将获取从特定URL注册的所有用户。
database.php
<?php
include('database.php');
header('Access-Control-Allow-Origin' , '*');
header('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');
header('Accept','application/json');
header('content-type','application/json');
$query = "SELECT * FROM `users` WHERE `status`='1' AND `delete_status`='0' ORDER BY `user_id` DESC";
$result = mysqli_query($con,$query);
$count = mysqli_num_rows($result);
$resultant_array = array();
if($count>0)
{
while($informations = mysqli_fetch_assoc($result))
{
$resultant_array[] = $informations;
}
print_r(json_encode($resultant_array));
}
else
{
$resultant_array[] = ["success"=> 200, "message"=> "No Data Found", "status_code"=>1 ];
echo $output = json_encode($resultant_array);
}
?>
getAllUsers()
中提到的上述URL在浏览器中起作用,但是放置在离子应用中时,它显示以下错误。
交叉 - 原始请求被阻止:相同的原始策略在http://haitrorial.com/hybridapp/listallusers.php上删除远程资源。(原因:CORS标题"访问控制">
当浏览器中的 eNable CORS添加时,可以解决上述问题。但是,当i disable CORS添加在浏览器中显示 error 。
像明智的明智同样的错误也在插入页面中占上风。当我从应用程序中插入数据时,它将重定向到列表页面,并且没有显示上述错误的数据。
我也在PHP文件中添加了header()
。但是我无法追踪错误。我需要解决此错误,而无需在浏览器中使用类似的内容,并且也需要在应用程序中成功运行。
您需要在服务器端设置标头,而不是离子端。
标题("访问控制 - 允许头 - 标头:x-重新征用,内容类型,origin,cache-control,pragma,pragma,授权,接受,接受,对编码"(;