首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将值从jquery传递给Cakephp控制器

将值从jquery传递给Cakephp控制器
EN

Stack Overflow用户
提问于 2014-12-23 16:44:39
回答 1查看 1.6K关注 0票数 0

我是CakePHP的初学者,在更改函数期间尝试将textbox值发送到我使用ajax的控制器操作。

有人能帮助如何将值形式jquery传递给cakephp控制器吗?如果有例子的话,代码可能会很棒。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-23 22:24:08

假设您希望将数据发送到用户控制器中的一个名为“”的方法。我是这样做的:

在您看来,.ctp (任何地方)

代码语言:javascript
运行
复制
<?php
echo $this->Form->textarea('text_box',array(
    'id' => 'my_text',
));
?>
<div id="ajax_output"></div>

在同一个视图文件中--调用事件触发器的jquery函数:

代码语言:javascript
运行
复制
function process_ajax(){
        var post_url = '<?php echo $this->Html->url(array('controller' => 'users', 'action' => 'ajax_process')); ?>';

        var text_box_value = $('#my_text').val();

        $.ajax({
            type : 'POST',
            url : post_url,
            data: {
                text : text_box_value
            },
            dataType : 'html',
            async: true,
            beforeSend:function(){
                $('#ajax_output').html('sending');
            },
            success : function(data){
                $('#ajax_output').html(data);
            },
            error : function() {
                $('#ajax_output').html('<p class="error">Ajax error</p>');
            }
        });
    }

在UsersController.php中

代码语言:javascript
运行
复制
public function ajax_process(){
    $this->autoRender = false; //as not to render the layout and view - you dont have to do this
    $data = $this->request->data; //the posted data will come as $data['text']
    pr($data); //Debugging - print to see the data - this value will be sent back as html to <div id="ajax_output"></div>
}

ajax_process方法中禁用AppController.php的安全:

代码语言:javascript
运行
复制
public function beforeFilter() {
    $this->Security->unlockedActions = array('ajax_process');
}

我还没有测试过这些代码,但是它应该会给出您所需要的

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27624531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档