【问题标题】:Saving data in CakePHP, and posting JSON via AJAX simultaneously?在 CakePHP 中保存数据,并同时通过 AJAX 发布 JSON?
【发布时间】:2012-04-04 03:41:00
【问题描述】:

所以我有一个表单,并且我有一个带有 CakePHP 后端的 KnockoutJs 应用程序。当我点击 Cake 的默认“保存”按钮时,我想吐出并发布一个 JSON 以及标准表单数据。

到目前为止,这是我的 JS 中的内容:

$('input.saveProgram').click(function() {
    var theJson = ko.mapping.toJSON(pvm, mapping);
    $.ajax({
        url: 'http://localhost/cake/programs/edit',
        dataType: 'json',
        type: 'POST',
        data: theJson
    });
});

在 Cake 中,我尝试在控制器中使用请求处理程序,但无济于事:

if($this->RequestHandler->setContent('json', 'application/json')) {
    // standard saving code
}

在我的 Cake 应用程序中,我尝试使用 die($this->request->data) 来查看发生了什么,但 JSON 似乎根本没有发布。

【问题讨论】:

    标签: javascript ajax json cakephp


    【解决方案1】:

    在我解释您的问题时,这是一个解决方案。在您的控制器中:

        if($this->RequestHandler->isAjax()){
    
            // "spit" out json
            echo $this->data;
    
            //decode data into an array
            $decodedData = json_decode($this->data);        
    
            //standard saving code would 
            $this->Model->save($decodedData);
        }
    

    【讨论】:

      猜你喜欢
      • 2013-07-04
      • 1970-01-01
      • 1970-01-01
      • 2019-12-09
      • 1970-01-01
      • 2016-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多