我在后端使用cakephp,当我尝试登录我的应用程序时离子知道何时使用方法POST我得到:预检的响应在我的浏览器的控制台中有无效的HTTP状态代码500。
但是当我使用方法GET所有的东西都在工作但我注意到当我检查数据请求时我发现数组在内部没有任何内容。 我不知道为什么当我使用post不工作的地方有问题 感谢。
service.js
var config = {
headers : {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'POST, GET, OPTIONS, PUT',
'Content-Type': 'application/json',
'Accept': 'application/json',
'Access-Control-Allow-Headers': 'X-Requested-With',
'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8;'
}
}
$http.post(
link,
{"data.User.password": pw, "data.User.username": email},
config
).then(
function(response) {
//console.info(response);
deferred.resolve(response.data);
},
function(errResponse) {
deferred.reject(errResponse);
}
);
return promise;
}
}
})
usercontroller.php
public function login()
{
if ($this->Session->read('Auth.User')) {
$this->set(array(
'message' => array(
'text' => __('You are logged in!'),
'type' => 'error',
'status' => 200,
'success' => 1
),
'_serialize' => array('message')
));
}
if ($this->request->is('post')) {
//debug($this->request->data);
//die;
if ($this->Auth->login()) {
//debug($this->Session->read('Auth.User'));
//die;
//return $this->redirect($this->Auth->redirect());
//debug('if**********************************');
//die;
$this->set(array(
'user' => $this->Session->read('Auth.User'),
'_serialize' => array('user')
));
} else {
//debug('else *************************');
//die;
$array_data = array_keys($this->request->data);
$this->set(array(
'message' => array(
'text' => __('Invalid username or password, try again'),
'type' => 'error',
'status' => 200,
'success' => 0,
'data_0' => $this->request->data
//'data_1'=>$_GET['password']
),
'_serialize' => array('message')
));
// $this->response->statusCode(401);
}
}
}