我在Postman中测试它时正在从API调用函数,我得到请求的结果作为JSON响应,而在iOS应用中使用它会返回错误。
if (isset($this->request->get['json']) and $this->request->get['json'] == 123) {
$this->load->model('api/tokenupdate');
$bearer = $this->model_api_tokenupdate->getBearerToken();
$token = $this->model_api_tokenupdate->get_token_data($bearer);
if ($token) {
$this->model_api_tokenupdate->update_session($token['access_token'], json_decode($token['data'], true));
$this->model_api_tokenupdate->update_server_session();
}else{
echo "Error";
exit;
}
$this->response->addHeader('Content-Type: application/json');
$this->response->setOutput(json_encode($this->data));
}else{
$this->response->setOutput($this->render());
}
由于错误而无法序列化JSON:无法将数据 请阅读,因为格式不正确。
即使在浏览器中尝试HTTP请求时,我仍然收到错误响应而不是成功响应。
我完全感到困惑,为什么这个错误和在Postman中的测试一切正常。
我正在使用Alamofire调用API
Alamofire.request(urlString,method: method,parameters:params).validate().responseJSON { response in
UPD1: 当我在邮递员中var_dump($ token)结果为肯定时,我得到一个数组
array(7) {
["access_token"]=>
string(40) "1abc1234a1234567a4dfcc20042b67b22dd45f1c"
["client_id"]=>
string(21) "shopping_oauth_client"
["user_id"]=>
NULL
["expires"]=>
string(19) "1970-01-01 13:08:29"
["scope"]=>
NULL
["session_id"]=>
string(26) "aipsfc22p64ff99ugt35e9kc2d"
["data"]=>
string(145) "{"language":"en","currency":"USD","cart":[],"rest_session_id":"aipsfc22p64ff99ugt35e9kc2d","token_id":"1abc1234a1234567a4dfcc20042b67b22dd45f1c"}"
}
在浏览器或应用程序中进行HTTP请求时,我得到bool(false)