我使用ajax提交此表单,我希望控制器中的所有表单发布数据都在数据库中提交表单。但它不起作用。
$('#myForm').on('submit', function(e){
$.ajax({
url : controllerUrl,
type : 'POST',
data : $(this).serialize(),
success : function(data) {
}
});
});
答案 0 :(得分:0)
希望它对您有所帮助:
使用site_url
或base_url
代替controllerUrl
注意:用您的控制器和方法替换controller_name
和method_name
$('#myForm').on('submit', function(e){
$.ajax({
url : "<?php echo site_url('controller_name/method_name');?>",
type : 'POST',
data : $(this).serialize(),
success : function(data) {
alert(data);
}
});
});
您的控制器结构应如下所示:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Controller_name extends CI_Controller {
public function __construtct()
{
parent::__construtct();
$this->load->helper('url');
}
public function method_name()
{
print_r($this->input->post());
die;
}
}
答案 1 :(得分:0)
最好尝试为你传递给下一页的价值命名
$('#myForm').on('submit', function(e){
$.ajax({
url : controllerurl,
type : 'POST',
data : {values:$(this).serialize()},
success : function(data) {
alert(data);
}
});
});
答案 2 :(得分:0)
var your_data = "your data";
var url = "<?php echo base_url('my_controller/my_method') ?>";
$.post( url, { data: your_data}, function(response) {
alert(response);
});
for my_controller
public function my_method() {
$data = $this->input->post('data');
echo 'Found: ' . $data;
}
答案 3 :(得分:0)
假设这是你的表格
<form name="form1" id="form1">
<input type="text" name="t1">
<input type="text" name="t2">
<input type="submit" name="sbtn" id="sbtn">
</form>
将此放入页脚
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript">
var BASE_URL ="<?= base_url(); ?>";
$( "#form1" ).submit(function( event ) {
event.preventDefault();
$.ajax({
type: 'POST',
url: BASE_URL + "controller/methodName",
data: =$("#form1").serialize(),
success: function (data) {
data = JSON.parse(data);
}
});
});
</script>
最后把它放在你的控制器中
function methodName()
{
echo $t1=$this->input->post('t1');
echo $t2=$this->input->post('t2');
}
答案 4 :(得分:0)
假设这是你的表格
<强> HTML 强>
<form name="form" id="form1">
<input type="text" name="name">
<input type="text" name="email">
<a class="adddata">send</a>
</form>
AddCategories是控制器名称,addProductsCategories是方法 名。
<强> JS 强>
$(".adddata").on('click',function(){
var addCat= new FormData($("#form1")[0]);
$.ajax({
url : baseurl+"AddCategories/addProductsCategories",
type :"POST",
data :addCat,
contentType:false,
processData:false,
success:function(res)
{
alert("Good job!");
window.location.reload();
}
});
});
<强>控制器强>
public function addProductsCategories()
{
$result=array
(
"name"=>$_POST["name"],
"email"=>$_POST["email"],
);
$this->db->insert("tbl_name",$result);
}