问题是 $_POST['section_name'] == EMPTY 和 $_POST['section_code'] == EMPTY
我展示了请求本身的发送:
<div class="modal-body">
<div class="mx-auto">
<form id="form_new_section" method="POST" action="/mvc/admin_catalog_sections/add/">
<div class="form-group">
<label for="section_name">Название категории</label>
<input type="text" required="required" class="form-control" name="section_name" value="" id="section_name"/>
</div>
<div class="form-group">
<label for="section_code">Код категории</label>
<input type="text" required="required" class="form-control" name="section_code" value="" id="section_code"/>
</div>
<div class="form-group">
<label for="parent_section">Родительская категория</label>
<select class="form-control" name="parent_section" id="parent_section">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
</div>
</form>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" id="add_new_section" onclick="add_new_section()">Добавить</button>
</div>
我正在使用 bootstrap 4我正在 向一个方法发出请求。
他自己叫得很好,我可以显示一个消息。但是 $_POST 本身是空的,那里什么都没有。
方法代码:
public function add(){
if(isset($_POST['section_name']) && isset($_POST['section_code'])){
echo "Есть контакт!";
}else{
echo "Нет контакта";
}
$name = htmlspecialchars($_POST['section_name']);
$code = htmlspecialchars($_POST['section_code']);
$parent_id = htmlspecialchars($_POST['parent_section']);
var_dump($name, $code, $parent_id);
if($name != '' && $code != ''){
$params = array(
':name' => $name,
':code' => $code,
':parent_id' => NULL,
':dept_level' => NULL,
);
if($id = $this->model->add($params)){
echo json_encode(array("error" => "false", 'success' => "true", "new_id" => $id));
}else{
echo json_encode(array("error"=>"true"));
}
}
}
我已经昏迷了!我不明白现在该怎么办。一切似乎都很好,名字匹配。
即使按下按钮,我也会从 js 代码中调用该函数。
function add_new_section(){
form = $("#form_new_section");
if(form[0].checkValidity() === false){
form.addClass('was-validated');
}else{
$.ajax({
url: form.attr('action'),
type: 'post',
dataType: 'json',
success: function( json ){
console.log('123');
}
})
}
}
我不明白可能是什么问题?似乎一切都写得很好,一切都应该如此,但答案来自section_nameandsection_code是这样的:

我是 php、html、css、js 的新手。也许我做错了什么?但是注册和进入一切都很好。请帮帮我!

为了传输一些数据,您需要使用 data 参数: