我有这个看法
<div class="w3-row w3-padding-64">
<div class="w3-twothird w3-container">
<form id='create_delivery' method="post" class="form-horizontal"
enctype="multipart/form-data">
from <input type="text" name="first_address"><br>
To <input type="text" name="second_address" ><br>
<label>weight</label>
<input type="number" name="weight" ><br>
<label>price</label>
<input type="number" name="price" ><br>
<label>description</label><br>
<textarea name="description"></textarea>
<br>
<input type="submit" value="Submit">
</form>
</div>
</div>
然后我通过 ajax 向 Controller 方法发送了一个 post 请求
$(document).ready(function(){
$("#create_delivery").submit(function(evt){
var postData = $(this).serialize();
$.ajax({
url: baseURL + "deliverys/create_delivery",
type:'post',
data:postData,
dataType:'json',
success:function(data){
alert('delivery created');
}
});
evt.preventDefault();
});
});
这是 Controller
public function create_delivery(){
if(isset($_POST)):
$first_address= $this->input->post('first_address');
$second_address= $this->input->post('second_address');
$description= $this->input->post('description');
$Weight= $this->input->post('Weight');
$price= $this->input->post('price');
$data = array(
"first_address"=>$first_address,
"second_address"=>$second_address,
"description"=>$description,
"Weight"=>$Weight,
"price"=>$price
);
$this->deliverys_model->create_delivery($data);
endif;
}
所有值都为空的问题, 当我发送没有ajax的帖子请求时它有效 但是对于ajax,值为NULL
错误编号:1048
INSERT INTO deliverys
(first_address
,second_address
,description
,ready_to_buy
,重量
, 价格
) VALUES (NULL, NULL, NULL, NULL, NULL, NULL)
最佳答案
我认为您没有使用 var postData = $(this).serialize()
获取表单数据 .
像这样尝试 $("#create_delivery").serialize()
如果没有<input type="file">
在表格中不要使用 enctype="multipart/form-data"
$(document).ready(function(){
$("#create_delivery").submit(function(evt){
evt.preventDefault();
$.ajax({
url: baseURL + "deliverys/create_delivery",
type:'POST',
data:$("#create_delivery").serialize(),
dataType:'json',
success:function(data){
alert('delivery created');
}
});
evt.preventDefault();
});
});
关于php - 使用 ajax 时 post 值为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54040042/