jquery ajax调用不在codeigniter中给出响应

时间:2017-02-24 09:54:25

标签: php jquery ajax codeigniter

我是第一次在codeigniter中尝试jquery ajax。我没有收到来自ajax电话的任何回复。当我点击按钮时,我可以在j.ajax之前使用警报验证数据,但是对实际的ajax调用没有响应。请帮助找到问题。

我的观点是:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="<?php echo base_url(); ?>js/jquery-latest.js" type="text/javascript"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<script type="text/javascript">
var j=jQuery.noConflict();
j(document).ready(function(){
    j("#b").click(function(){
        var scode=j("#a").val();
        var baseurl="<?php echo base_url(); ?>";
        $.ajax({
         type: 'POST',
         url: baseurl + 'ajax/aj', 
         data: {txt:scode},
        success:function(response){
           j("#c").val(response);
         }
     });
    });
});
</script>
<form id="form1" name="form1" method="post" action="">
  <label for="a"></label>
  <input type="text" name="a" id="a" />
  <input name="b" type="button" value="click" id="b" />
  <input type="text" name="c" id="c" />
</form>
</body>
</html>

我的控制器是:

<?php
class ajax Extends CI_Controller{
    public function __construct()
    {
    parent::__construct();  
    $this->load->helper('url');
    }
    public function index(){
        $this->load->view('ajax_trial');
    }
    public function aj(){
        $x=$this->input->get('txt');
        echo $x;
    }
}
?>

4 个答案:

答案 0 :(得分:2)

亲爱的朋友您使用post方法发送数据并使用get方法打印数据必须使用POST方法....

<?php
class ajax Extends CI_Controller{
    public function __construct()
    {
    parent::__construct();  
    $this->load->helper('url');
    }
    public function index(){
        $this->load->view('ajax_trial');
    }
    public function aj(){
        $x=$this->input->post('txt');
        echo $x;
    }
}
?>

答案 1 :(得分:0)

只需将ajax调用中的POST更改为GET,因为你正在使用get方法接收变量。如果你的点击功能有效,我试过你的代码然后通过做这个小改动就可以了: -

jQuery("#b").click(function(){
            var scode=jQuery("#a").val();
            var baseurl="<?php echo base_url(); ?>";
            jQuery.ajax({
                type: 'GET',
                url: baseurl + 'test/aj',
                data: {txt:scode},
                success:function(response){
                    console.log(response);
                    jQuery("#c").val(response);
                }
            });
        });

答案 2 :(得分:0)

您是否注意到您使用j进行jquery但使用$ .ajax进行ajax调用?

答案 3 :(得分:0)

请在控制器中使用它

的error_reporting(0);

标题(&#39; content-type:application / json; charset = utf-8&#39;);

标题(&#39; Access-Control-Allow-Origin:*&#39;);

标题(&#34; Access-Control-Allow-Headers:Origin,X-Requested-With,Content-Type,Accept&#34;);