【发布时间】:2017-04-05 05:47:14
【问题描述】:
我试图在没有 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>
我的 ajax:
$(document).ready(function(){
$("#submit").click(function(e){
var postURL = "../Controller/Controller.php/create";
var postNama = $("#nama").val();
var postMSISDN = $("#msisdn").val();
var postSMS = $("#sms").val();
$.ajax({
type: "POST",
url: postURL,
data:
{
nama: postNama,
msisdn: postMSISDN,
sms: postSMS
},
success: function(data){
//
}
});
e.preventDefault();
});
});
我的控制器:
<?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);
}
?>
我的模型:
function insertData($name, $msisdn, $sms){
try{
$conn = new PDO('mysql:host=localhost; dbname=crud', 'root', '');
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e){
echo 'ERROR: ' . $e->getMessage();
}
$conn->prepare("INSERT INTO data (nama, msisdn, sms) VALUES (?, ?, ?)")->execute([$name, $msisdn, $sms]);
}
【问题讨论】:
-
你有任何回应吗?一个错误?你能辨别系统在做什么?
-
我正在尝试在警报框中输出变量,并且工作正常,没有错误。我只是不知道如何将变量传递给 controller.php 中的 create() 方法
-
你无法使用这个 url "../Controller/Controller.php/create" 来点击你的创建方法
标签: php jquery ajax model-view-controller