gpt4 book ai didi

javascript - 尝试将 JQuery 与 CakePHP 1.3 一起使用时运气不佳

转载 作者:数据小太阳 更新时间:2023-10-29 05:59:26 24 4
gpt4 key购买 nike

我是 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com