在CakePHP中集成遗留Ajax脚本

时间:2010-04-06 21:16:24

标签: php javascript ajax cakephp

我有一个遗留脚本,我想在cakephp应用程序中集成。该脚本使用$ _POST等等,因为我是一个菜鸟,我需要一些帮助来进行整合。

以下是脚本的外观:

THE JAVASCRIPT:

  • 的prototype.js
  • builder.js(这两个来自原型fw)
  • lib.js(向remote.php发出ajax请求)

PHP

  • remote.php(包含FastJSON类和$ _POST vars)

    if ($_POST['cmd'] == 'SAVETEAM' && $_POST['info'])
    {
        $INFO = json_decode(str_replace('\"', '"', $_POST['info']));
    $nr = 1;
    
    $SORT = array($INFO->GK, $INFO->DEF, $INFO->MID, $INFO->FOR, $INFO->RZ);
    
    foreach ($SORT as $STD)
    foreach ($STD as $v) mysql_query("UPDATE players_teams SET fieldposition = ".$nr++." WHERE player_id = {$v->player_id} AND team_id = {$v->team_id}") or die(mysql_error());
    
    // CAPTAION
    mysql_query("UPDATE `teams` SET captain = '{$_POST['captain']}' WHERE `user_id` = {$_POST['userid']}") or die(mysql_error());
    

    }

  • transfers.php(包含使用javascript并链接到JS的表单)

我真的不知道如何在cakephp中构建文件和调用。目前我有“Undefined index:cmd [APP / vendors / remote.php,line 230]”错误,因为我使用$ _POST ['cmd'](我在供应商中放置了remote.php并包含它,JS只是包含旧的时尚方式,作为链接并出现在源代码中)。我怎样才能做到这一点?对不起,我不熟悉AJAX和Cake ......如果你想全面了解一下代码,可以看看:http://octavian.be/thecode.zip

感谢您阅读并帮助我。

1 个答案:

答案 0 :(得分:0)

  1. CakePHP中仍有PHP,$_POST,所有其他东西仍可使用。
  2. 浏览器中的Javascript根本不关心Cake,它只是像往常一样运行 (除非它从服务器检索数据,您可能需要使用Cake模拟它。)
  3. 遗留的PHP脚本非常糟糕。
  4. 弄清楚它的作用,记录下来。
  5. 查看各个阶段的所有变量(var_dump()),看看脚本提取的信息类型。
  6. 清理它,修复任何错误。
  7. 将数据库操作转换为Cake。
  8. 遇到更具体的问题。