繁体   English   中英

通过PHP-> Javascript-> AJAX-选项传递变量?

[英]Passing variables through PHP -> Javascript -> AJAX - Options?

我目前正在使用CMS,PHP和JavaScript(+ AJAX)之间存在大量通信。 我很难在整个流程中存储变量。

例如:登录后,您可以选择要编辑的站点。 单击时,我将site_id存储在POST变量中。 之后,我重定向到pages-overview-page,在其中我使用此site_id从数据库中读取了所有页面。

如果添加页面,则会发生以下情况:

1.通过回显将$ _POST ['site_id']放入javascript中:

echo "<script>var siteid =".$_POST['siteid'].";</script>"

2.然后我的JavaScript进行AJAX调用:

$(".leftpanelinner").on('click','._add-page', function(event){
    event.preventDefault();
    $(".sortable").load("ajax_scripts/page-actions.php/add_page",{siteID: siteid, callFunction:'add_page' });   
}); 

3.依次启动一个php脚本,该脚本将一个页面添加到该站点并向我的数据库进行查询,然后重新加载该页面的主div:

public function new_page($iSite_id, $sTemplate, $sTitle, $sMeta, $sCSS, $sJS, $sFavicon, $aContent, $aMenu)
{
    $oPagemodel = new page_model;
    $iPage_id=$oPagemodel->insert_pagemodel($iSite_id, $sTemplate, $sTitle, $sMeta, $sCSS, $sJS, $sFavicon, $aContent, $aMenu);
    return $iPage_id;
}

public function insert_pagemodel($iSite_id, $sTemplate, $sTitle, $sMeta, $sCSS, $sJS, $sFavicon, $aContent, $aMenu)
    {
        $this->set_pagemodel($sTemplate, $sTitle, $sMeta, $sCSS, $sJS, $sFavicon, $aContent, $aMenu);   
        $sSQL = "INSERT INTO `pages` (f_site_id, object) VALUES ('".$iSite_id.', '.serialize($this)."');";
        if (mysql_query($sSQL)) {$this->iID = mysql_insert_id();} else {return false;}
        return $this->iID;

    }

是否没有通过JavaScript / PHP / AJAX来存储变量的简单方法,还是上述最佳方法?

您可以为此使用cookie。

<?php
    $foo = 'lorem';
    setcookie('the_foo',$foo,time() + (86400 * 7)); 

    echo $_COOKIE['the_foo']; 
?>

您也可以使用js获取和设置cookie。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM