android https 请求数据,android – $http请求状态0与https

本文探讨了一位开发者在将API从HTTP迁移至HTTPS后遇到的问题,涉及CORS限制。作者寻求解决策略,包括白名单设置、请求头管理,以及如何在服务器端启用跨域资源共享(CORS)以确保在移动设备上正常工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

情况:

我正在处理一个从API接收数据的离子应用程序.

之前,API位于http://地址,一切正常.

然后我们将API移动到https://,它不再工作了.

或者,它仍然在浏览器中访问它,但不在手机(或仿真器)中.

我不知道可能是什么问题.在控制台日志中,我看到请求的状态为0.

它可能与白名单,标题或CORS有关.我已经尝试了几种方法,但没有工作.

白名单:

之前在config.xml中有这个白名单:

我试图以几种方式修改它,但是没有解决问题.

例如我试过:

API要求:

这是API请求的一个例子:

$http.get( 'https://MY_DOMAIN.com/mobile/list_mobile_project/' ,{},{"headers" : {"Content-Type" : "application/x-www-form-urlencoded; charset=UTF-8" }})

.success(function(data, status, headers, config)

{

// code

}).

error(function(data, status, headers, config)

{

console.log('Error with the API list_mobile_project');

console.log(data);

console.log(status);

console.log(headers);

console.log(config);

});

API响应:

这是API响应的一个例子:

public function list_mobile_project()

{

header('Access-Control-Allow-Origin: *');

header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");

// code

echo json_encode( $project_list );

}

问题:

如何让API在HTTPS上工作?

如果这是一个CORS相关问题,我该如何在服务器端启用它?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值