- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我是 cakePHP 的新手,但由于无法让 jQuery 与它一起工作,我快要放弃使用它了。
我正在使用 cakePHP 1.3,因此我认为 Html 和 Js 助手已经使 Javascript 和 Ajax 变得多余,但我真的找不到任何关于如何使用 Js 的足够的帮助/api 文档。
我首先要做的就是使用 jQuery 将一些数据发送到 cakePHP,然后将一些数据返回到 jQuery 并对其进行 alert()。出于某种原因,这是行不通的。这是我的代码:
测试.js
$('.social').click(function()
{
$.ajax({
type: 'POST',
url: '/activities/add_activity',
data: 'type=social',
dataType: 'json',
success: function(data)
{
alert(data);
},
error: function()
{
alert('wut');
}
});
});
activities_controller.php
function add_activity()
{
if($this->RequestHandler->isAjax())
{
$this->autoRender = false;
$this->autoLayout = false;
$this->header('Content-Type: application/json');
echo json_encode(array('result'=>'hello');
return;
}
}
每次我点击带有 class='social' 的按钮时,我都会收到警告“wut”,这意味着错误。
我的 activities_controller.php 中包含 RequestHandler 组件和 Javascript、Js 和 Ajax 助手。
此外,test.js 和 jquery.js 是使用 html->script() 链接的;在 default.ctp 中,所有其他 jQuery 东西都在工作,所以不是那样。
我在 activities_controller.php 的 beforeFilter() 中也有这个:
if($this->RequestHandler->isAjax())
{
Configure::write('debug',0);
}
parent::beforeFilter();
有什么问题吗?它是 jQuery 的东西还是 cakePHP 的东西?还是两者兼而有之?
提前致谢
无穷无尽
附言
我以前从未在 jQuery 中使用过 AJAX,所以这可能与搞砸了有关,我只使用过简单的 javascript AJAX。
最佳答案
不要放弃 CakePHP。有一个学习曲线,但这是值得的。
我会像这样指定 url:
<?php $Url = Router::url(array('controller'=>'activities','action'=>'addActivity'),true); ?>
$('.social').click(function()
{
$.ajax({
type: 'POST',
url: '<?php echo $Url ?>';
...
在 CakePHP 方面,我的方法是这样的:
function addActivity()
{
$this->autoRender = false;
$this->autoLayout = false;
App::import('Helper', 'Javascript');
$javascript = new JavascriptHelper();
echo($javascript->object(array('result'=>'hello')));
exit(1);
}
我从不使用 if($this->RequestHandler->isAjax())
,尽管我确信有好心人会告诉我为什么我应该这样做。
我更喜欢符合 CakePHP 约定的驼峰命名法。
请注意,您代码中的这一行:echo json_encode(array('result'=>'hello');
缺少右括号。
此外,我不会像这样使用 jQuery 来执行简单的 AJAX - 它可能会使调试变得困难,但这只是个人喜好。
关于javascript - 尝试将 JQuery 与 CakePHP 1.3 一起使用时运气不佳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3566946/
我刚刚开始学习汇编并使用 C++ 的 asm{} 主体和 C-Free 5.0 中的 Digital-Mars 编译器制作一些自定义循环来交换两个变量 启用-o(优化) 并得到结果: time of
我是一名优秀的程序员,十分优秀!