php – Cake 1.3中的Ajax的一个好/简单的例子,没有使用弃用的帮助器?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – Cake 1.3中的Ajax的一个好/简单的例子,没有使用弃用的帮助器?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我在 PHP中使用过很多AJAX,但是现在我正在尝试学习CakePHP,而且还没有任何关于如何在CakePHP 1.3中使用AJAX的好/简单示例.我能找到的唯一例子是分页(不是我需要的),或者在强制你包含scriptaculous或PRototyPE时使用弃用的助手.

有没有关于如何使用AJAX w / CakePHP 1.3的好/简单示例?还是有人可以在这里解释一下?

我想要做的就是让用户单击一个链接,该链接检索PHP文件内容,并将其插入到div中. PHP文件内容将根据ajax调用发送的一些POST或GET变量进行更改.看起来很简单:(

解决方法

这是我在CakePHP 1.3.x中使用的模式.这个过程通常是:

>创建面向json的替代布局和视图文件
>检测传入请求是否为AJAX
>显式渲染替代json布局/视图而不是text / htML

一定要在app控制器中包含RequestHandler组件和JsHelper.

在给定的控制器中:

function test() {
    if($this->RequestHandler->isAjax()) {
        $this->set('data',$this->data);
        // ExplicIT call to render an ajax response,using a layout and view made specifically for ajax
        $this->layout = 'json';
        $this->render('ajax_test');    
    }
    // else render views/controllername/test.ctp like normal
}

你的app / views / layouts / json.ctp文件

<?PHP
    header("Pragma: no-cache");
    header("Cache-Control: no-Store,no-cache,max-age=0,must-revalidate");
    header('Content-type: text/x-json');
    header("X-JSON: ".$content_for_layout);

    echo $content_for_layout;
?>

您的app / views / controllername / ajax_test.ctp文件应仅包含:

<?PHP echo $js->object($data); ?>

现在,在您的页面上实际上将进行ajax调用,它可能看起来像这样,使用jquery代码

<div id='status'></div>
<?PHP echo $form->create('Test',array('id'=>'testForm')),$form->input('message'),$form->end();
?>
<script type='text/javascript'>
    $('#testForm').submit(function(event) {
    event.preventDefault(); // interrupt form submission
    $.ajax({
        type: "POST",url: "/controllername/test",data: $('#testForm').serialize(),success: function(data,textStatus,XMlHttpRequest) {               
            $("#status").html(data.Test.message);
        },error: function(jqXhr,errorThrown) {
            alert("There was a problem processing the request: " + jqXHR);
        }
    });
});
</script>

脚本宝典总结

以上是脚本宝典为你收集整理的php – Cake 1.3中的Ajax的一个好/简单的例子,没有使用弃用的帮助器?全部内容,希望文章能够帮你解决php – Cake 1.3中的Ajax的一个好/简单的例子,没有使用弃用的帮助器?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。