脚本宝典收集整理的这篇文章主要介绍了php – Cake 1.3中的Ajax的一个好/简单的例子,没有使用弃用的帮助器?,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有关于如何使用AJAX w / CakePHP 1.3的好/简单示例?还是有人可以在这里解释一下?
我想要做的就是让用户单击一个链接,该链接检索PHP文件的内容,并将其插入到div中. PHP文件的内容将根据ajax调用发送的一些POST或GET变量进行更改.看起来很简单:(
>创建面向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,请注明来意。