javascript - 在 CakePHP 中保存数据,并同时通过 AJAX 发布 JSON?

标签 javascript ajax json cakephp

所以我有一个表单,还有一个带有 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 中,我尝试在 Controller 中使用请求处理程序,但无济于事:

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

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

最佳答案

这是我解释您的问题时的解决方案。在你的 Controller 中:

    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);
    }

关于javascript - 在 CakePHP 中保存数据,并同时通过 AJAX 发布 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10004609/

相关文章:

javascript - 如何在正则表达式中接受分隔符(: , .,/, ?, =, +, -, _,)以匹配字符串值Javascript

javascript - 将 map 从 grails 传递到 javascript

javascript - Django admin 添加 View 弹出对话框

javascript - 样式 选择与所选选项具有相同样式的元素

php-如何使用ajax发布值?

javascript - IIFE 内部的函数无法识别

javascript - PHP json_encode 多维关联数组

ios - AFNetworking错误-'无效的JSON写入类型(NSConcreteData)'-上传音频文件时

javascript - 从服务器接收 json 数据以显示 Chart.js 图表不起作用

javascript - 通过 jQuery 获取输出 json_encode() 的值自定义。?