点击jQuery - >用PHP将元素写入数据库

时间:2015-09-22 09:51:23

标签: javascript php jquery html ajax

我正在创建一个使用MVC结构来创建/修改/删除网站页面的CMS。 我有很多用于存储数据的对象。 例如。 a $sitemodel with:

  • $site-id
  • $page-template

要创建新页面,我在HTML中添加了一个按钮:

<ul class="nav nav-pills nav-stacked nav-bracket">
  <li class="_add-page">
    <a href="#user/sites/new">
      <i class="fa fa-plus"></i>
      <span> Voeg een pagina toe</span>
    </a>
   </li>
</ul>

我使用jQuery创建一个事件:

$(document).ready(function(){
  $("#test-id").click(function(ev){
    ev.preventDefault();
    $(".site_creator").load("add_page.php");
  });
});

add_page.php调用以下函数:

$pagecontroller->new_page($sitemodel->ID);

这又调用了以下功能:

public function new_page($site-ID)
{
    $pagemodel = new page_model;
    $page_ID=$pagemodel->insert_pagemodel($site-ID);
    return $page_ID;
}

最后来自pagemodel的SQL函数:

public function insert_pagemodel($site-ID)
{
    $sSQL = "INSERT INTO `pages` (object) VALUES (".$site-ID.");
    if (mysql_query($sSQL)) {$this->ID = mysql_insert_id();} else {return false;}
    return $this->ID;    
}

我想要了解的是:如何使用$page-controller中的$site-controlleradd_page.php中的方法? 从我的研究中我发现了两个选择:

  1. $ _ SESSION变量(而不是,因为那时我必须将会话添加到我的所有文件中)
  2. 在(“add_page.php”,{})
  3. 之后将它们添加到.load函数中

    我正在尝试使用选项2,但我不知道如何将我的数据从PHP导入JavaScript? 是否有可能将类的方法添加到ajax调用中?

    我试图在这里看到整个画面,但它看起来像我错过了什么? 如何将我的对象中的数据和方法导入create_page.php

2 个答案:

答案 0 :(得分:1)

您需要从页面创建一个AJAX调用,该调用的目标是服务器上的PHP文件: -

$(document).ready(function(){

  $("#test-id").click(function(ev){

    ev.preventDefault();

    $.ajax({
      method: "POST",
      url: "add_page.php/new_page",
      data: { // any data you wish to pass to the function }
    })
      .done(function( data ) {
         // You code for when the function has completed 
      });
  });
});

这应该让你入门 - 但是,你需要弄清楚如何发送你需要在PHP和PHP中使用的变量。 SQL方法即。 $sitemodel->ID

答案 1 :(得分:0)

@Abayob我不太确定你想做什么,但是:

  

如何从我的对象中获取数据和方法   create_page.php?

您可以传递数据,但不能将方法传递给php,反之亦然。 将数据从php传递到js的最佳方法是使用json: php - &gt; http://php.net/manual/en/function.json-encode.php

点击此处查看有关其工作原理的示例: https://jonsuh.com/blog/jquery-ajax-call-to-php-script-with-json-return/