如何将数据从angularjs发送到cakephp

时间:2016-04-06 19:04:03

标签: angularjs cakephp cakephp-3.0 ionic2

我在cakephp中完成了所有操作。我在客户端使用平台,现在我决定迁移到Ionic / angularjs,但正如我所看到的,他们不会互相“交谈”。 Angular使用Content-Type:application / json,cakePHP不会使用request-> data或request->查询读取。

我找到了一些解决方法,我需要更改服务器端的所有操作。有没有其他方法可以保持它没有变化?我也想让它在旧的客户端版本中运行。

将帖子 在algularjs我使用$ http服务。

3 个答案:

答案 0 :(得分:0)

我不确定我理解你的问题。

如果您通过发布请求将json数据发送到服务器,则可以轻松获取带有cakephp应用程序的数据:

jsonData = {data: [{key: 'a', value: 'b'}, {key: 'a', value: 'b'}]};
var req = {
  method: 'POST',
  url: 'http://example.com/Tests',
  data: jsonData
}
$http(req);

然后在您的控制器中,您可以获取数据:

class MyController extends AppController{
    // ...

    public function action(){
         debug($this->request->data);
         // you have your data from your angularjs app
         // ['data' =>  [['key' => 'a', value => 'b'], ['key' => 'a', value => 'b']]];

    }

答案 1 :(得分:0)

我解决了将$ http标题更改为“application / x-www-form-urlencoded”的问题,我看到了post

body = 'cel=xxxx&pass=zczx';
            var req = {
              method: 'POST',
              url: 'http://localhost/cakefacility/usuarios/checkUsuario.json',
              data: body,
              headers: {
                'Content-Type': 'application/x-www-form-urlencoded'
                }
            }
            $http(req);

答案 2 :(得分:0)

对于从angular到cakephp项目发送数据,您需要在cakephp项目中创建REST API以创建REST API,您可以按照我的分叉github repo进行操作。

在cakephp项目中创建API后,您只需调用API,如:

对于GET的Call API:

$http.get("<REST API URL>").then(function(response) {
   ......
   ......
});

对于POST的Call API:

$http.post(<REST API URL>, <DATA TO SEND>).success(function(data, status) {
.......
.......
});