Php Ajax将表单数据传递给控制器方法

Php Ajax将表单数据传递给控制器方法,php,jquery,ajax,model-view-controller,Php,Jquery,Ajax,Model View Controller,我试图在没有OOP方法的情况下学习MVC,在没有框架帮助的情况下制作一个简单的CRUD 目前的结构是: Model : -Post.php View : - Index.php - CRUD.php Controller : Controller.php 我想使用ajax提交表单数据,然后将其传递给控制器方法,但这不起作用 我的表格: <form class="form-horizontal" method="POST" action="" id="data-form"

我试图在没有OOP方法的情况下学习MVC,在没有框架帮助的情况下制作一个简单的CRUD

目前的结构是:

Model : -Post.php

View : - Index.php
       - CRUD.php

Controller : Controller.php
我想使用ajax提交表单数据,然后将其传递给控制器方法,但这不起作用

我的表格:

<form class="form-horizontal" method="POST" action="" id="data-form">
                <div class="container form-group">
                    <label class="control-label col-sm-2">Nama:</label>
                    <div class="col-md-10">          
                        <input type="text" class="form-control" name="nama" id="nama" placeholder="Masukkan Nama">
                    </div>
                </div>
                <div class="container form-group">
                    <label class="control-label col-sm-2">MSISDN:</label>
                    <div class="col-md-10">          
                        <input type="text" class="form-control" name="msisdn" id="msisdn" placeholder="Masukkan MSISDN">
                    </div>
                </div>
                <div class="container form-group">
                    <label class="control-label col-sm-2">SMS:</label>
                    <div class="col-md-10">     
                        <textarea class="form-control" rows="5" name="sms" id="sms"></textarea>
                    </div>
                </div>
                <div class="container form-group">        
                    <div class="col-sm-offset-2 col-sm-10">
                        <button type="button" class="btn btn-primary" name="submit" id="submit">Submit</button>
                        <a href="CRUD.php" class="btn btn-default col-sm-offset-9">Go to CRUD</a>
                    </div>
                </div>
            </form>
我的控制器:

<?php

require_once "../Model/Model.php";
require_once "../View/CRUD.php";


function create(){
    $nama = $_POST["nama"];
    $msisdn = $_POST["msisdn"];
    $sms = $_POST["sms"];
    insertData($nama, $msisdn, $sms);
}
?>
试试这个:

更新的Ajax:

$("#submit").on('click', (function(e){

    var postURL = "../Controller/Controller.php?action=create";

    $.ajax({
        type: "POST",
        url: postURL,
        data: $('form#data-form').serialize(),
        success: function(data){
            //
        }
    });
    e.preventDefault();
});
更新控制器:

<?php

require_once "../Model/Model.php";
require_once "../View/CRUD.php";

class Controller
{

    function create(){
        $nama = $_POST["nama"];
        $msisdn = $_POST["msisdn"];
        $sms = $_POST["sms"];
        insertData($nama, $msisdn, $sms);
    }

}

if(!empty($_POST) && isset($_GET['action']) && $_GET['action'] == ''create) {
    $object = new Controller();
    $object->create();
}

?>


您收到任何回复吗?错误?你能分辨出系统在做什么?我试图在警报框中输出变量,它工作正常,没有错误。我只是不知道如何将变量传递给controller.php中的create()方法。您无法使用此url“./controller/controller.php/create”点击您的create方法
$("#submit").on('click', (function(e){

    var postURL = "../Controller/Controller.php?action=create";

    $.ajax({
        type: "POST",
        url: postURL,
        data: $('form#data-form').serialize(),
        success: function(data){
            //
        }
    });
    e.preventDefault();
});
<?php

require_once "../Model/Model.php";
require_once "../View/CRUD.php";

class Controller
{

    function create(){
        $nama = $_POST["nama"];
        $msisdn = $_POST["msisdn"];
        $sms = $_POST["sms"];
        insertData($nama, $msisdn, $sms);
    }

}

if(!empty($_POST) && isset($_GET['action']) && $_GET['action'] == ''create) {
    $object = new Controller();
    $object->create();
}

?>