Php 我尝试在Codeigniter中通过jQuery ajax()提交表单。。。但什么也没发生…:(
对不起,这个问题一再重复,但我真的不知道如何解决 有一个按钮和两个文本输入,当我点击这个按钮,如果它的工作,我会看到一个警报,并显示“成功”给我,但不幸的是,我什么也看不到 没什么 我不知道为什么:( 请帮帮我,请帮帮我……我在stackoverflow或其他网站上读了很多关于codeigniter的教程,但我找不到任何可以解决我问题的方法,请教我 下面是一个非常简单的表单 文件名:test.phpPhp 我尝试在Codeigniter中通过jQuery ajax()提交表单。。。但什么也没发生…:(,php,jquery,ajax,codeigniter,Php,Jquery,Ajax,Codeigniter,对不起,这个问题一再重复,但我真的不知道如何解决 有一个按钮和两个文本输入,当我点击这个按钮,如果它的工作,我会看到一个警报,并显示“成功”给我,但不幸的是,我什么也看不到 没什么 我不知道为什么:( 请帮帮我,请帮帮我……我在stackoverflow或其他网站上读了很多关于codeigniter的教程,但我找不到任何可以解决我问题的方法,请教我 下面是一个非常简单的表单 文件名:test.php <!DOCTYPE html> <html> <head>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>test </title>
<link rel="stylesheet" href="<?=base_url("/css/bootstrap.css")?>">
<link rel="stylesheet" href="<?=base_url("/css/basic.css")?>">
<script src="<?=base_url("/js/jquery-1.10.2.min.js")?>"></script>
<script src="<?=base_url("/js/bootstrap.js")?>"></script>
<script src="<?=base_url("/js/practice.js")?>"></script>
</head>
<body>
<div style="margin:19px">
<form id="test_form" method="post">
USER:<input id="num" name="num" type="text" ><br>
NAME:<input id="name" name="name" type="text" ><br>
<input id="submit" name="submit" class="btn" type="submit" value="save">
</form>
</div>
</body>
</html>
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Paper extends CI_Model {
function __construct()
{
parent::__construct();
}
function test_add()
{
$this->load->helper('form');
$this->load->helper('html');
$this->load->database();
$tdata = array(
'num' => $this->input->post('num'),
'name' => $this->input->post('name'),
);
$this->db->insert('test_table',$tdata);
}
}
下面是我的控制器
文件名:静态数据
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Static_data extends CI_Controller {
public function test()
{
$this->load->view('test');
}
public function test_add()
{
$this->load->model("paper");
$this->paper->test_add();
}
}
试试这个->在test.php
文件中,将action属性设置为
action="<?php echo site_url();?>/static_data/test_add"
现在,为了进行测试,在practice.js
中的success
函数中,只需编写以下内容:
success: function(response) {
console.log(response);
}
这里,您得到的响应是控制器返回给您的内容,现在要测试它,只需键入echo“hello”;
或其他任何内容,只需回显一些内容即可。(这是因为您说过教我:)
现在,要查看这是否有效,请打开devoper工具(如果您使用的是google chrome),转到console选项卡,然后从底部选择log,如果一切正常,它将返回写入控制器中的回显消息
此外,要查看表单是否正确提交,请选择“网络”选项卡,当您点击“提交”按钮时,“网络”选项卡将显示数据是否正确提交
试试这个,如果不起作用,请留下评论。试试这个->在test.php
文件中,将action属性设置为
action="<?php echo site_url();?>/static_data/test_add"
现在,为了进行测试,在practice.js
中的success
函数中,只需编写以下内容:
success: function(response) {
console.log(response);
}
这里,您得到的响应是控制器返回给您的内容,现在要测试它,只需键入echo“hello”;
或其他任何内容,只需回显一些内容即可。(这是因为您说过教我:)
现在,要查看这是否有效,请打开devoper工具(如果您使用的是google chrome),转到console选项卡,然后从底部选择log,如果一切正常,它将返回写入控制器中的回显消息
此外,要查看表单是否正确提交,请选择“网络”选项卡,当您点击“提交”按钮时,“网络”选项卡将显示数据是否正确提交
试试这个,如果不起作用,请留下评论。试试这个:
Practice.js
$(document).ready(function(){
$("#test_form").submit(function(e){
e.preventDefault();
var tdata= $("#test_form").serializeArray();
$.ajax({
type: "POST",
url: 'http://localhost/[CodeIgniterDirectory]/index.php/static_data/test_add',
data: tdata,
success:function(tdata)
{
alert('SUCCESS!!');
},
error: function (XHR, status, response) {
alert('fail');
}
});
});
});
试试这个:
Practice.js
$(document).ready(function(){
$("#test_form").submit(function(e){
e.preventDefault();
var tdata= $("#test_form").serializeArray();
$.ajax({
type: "POST",
url: 'http://localhost/[CodeIgniterDirectory]/index.php/static_data/test_add',
data: tdata,
success:function(tdata)
{
alert('SUCCESS!!');
},
error: function (XHR, status, response) {
alert('fail');
}
});
});
});
我认为您可以通过以下简单的ajax请求轻松解决此问题:
$(document).ready(function(){
$("#test_form").on("submit", function(event){
event.preventDefault();
$.ajax({
url : base_url+"static_data/test_add",
type : "post",
data : $("#test_form").serialize(),
dataType : "json",
success(data)
{
alert('SUCCESS!!');
}
});
});
});
在这样做之前,请在头部设置的视图文件(test.php)中写入以下内容
<script>
var base_url = "<?php echo base_url(); ?>";
</script>
var base_url=“”;
我认为您可以通过以下简单的ajax请求轻松解决此问题:
$(document).ready(function(){
$("#test_form").on("submit", function(event){
event.preventDefault();
$.ajax({
url : base_url+"static_data/test_add",
type : "post",
data : $("#test_form").serialize(),
dataType : "json",
success(data)
{
alert('SUCCESS!!');
}
});
});
});
在这样做之前,请在头部设置的视图文件(test.php)中写入以下内容
<script>
var base_url = "<?php echo base_url(); ?>";
</script>
var base_url=“”;
尝试删除http://localhost
URL的一部分,只留下/index.php/static\u data/test\u add
。还要考虑添加一个“错误”句柄。你看到发送的实际请求了吗?(您可以在chrome的开发者控制台-“网络”窗格中查看)。要了解它是在客户端还是在服务器上被停止。请尝试删除http://localhost
URL的一部分,只留下/index.php/static\u data/test\u add
。还要考虑添加一个“错误”句柄。你看到发送的实际请求了吗?(您可以在chrome的开发者控制台-“网络”窗格中查看)。想知道它是在客户端还是在服务器上被停止。非常感谢!!!虽然它的工作简单…我使用的方法,你的帖子,和ajax可以工作,真的谢谢你,谢谢你!!!然而…数据库出现了一些问题,我使用的代码是utf-8,类型是“char”,但无论我提交“aaaaa”或“12345”,它们在数据库中都变成“0”:(发生了什么事?我还需要做什么?非常感谢!!!虽然它的工作很简单…我使用你发布的方法,ajax可以工作,真的谢谢你,谢谢!!!但是…数据库出现了一些问题,我使用的代码是utf-8,类型是“char”,但无论我提交“aaaaa”或“12345”,它们都变成了“0”数据库中:(发生了什么事?我还需要做什么?