2017-02-24 12 views
-1

初めてcodeigniterでjquery ajaxを試しています。私はajax呼び出しから何の応答も得られません。私がボタンをクリックすると、j.ajaxの前にアラートを使ってデータを確認できますが、実際のajax呼び出しには応答はありません。問題を見つけるのを助けてください。jquery ajaxコールはcodeigniterで応答しません

私の見解は次のとおりです。

<!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; 
    } 
} 
?> 
+0

あなたは '$のX 'のためのコントローラに任意の値を取得していますか? –

+0

モデルを使用していません – Amit

+0

コンソールでデバッグを試みてください。コントローラ内の – DevOps

答えて

0

だけuが.Iはあなたのコードを試してみました変数を受け取るためにgetメソッドを使用しているとしてGETするAJAX呼び出しにPOSTを変更あなたのクリック機能が動作している場合は、この小さな変更を行うことでうまくいくでしょう: -

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); 
       } 
      }); 
     }); 
0

eをjをjqueryに使用しますが、$ .ajaxをajax呼び出しに使用しますか?

+0

jを$で変更しようとしましたが、このエラーが発生しました。
XMLHttpRequestはhttp:// [:: 1]/ebizport/ajax/aj?txt = aaを読み込めません。要求されたリソースに「Access-Control-Allow-Origin」ヘッダーが存在しません。したがって、 'http:// localhost'はアクセスが許可されていません。 – Amit

0

error_reporting(0);

header( 'content-type:application/json; charset = utf-8');

ヘッダー( 'Access-Control-Allow-Origin:*');

ヘッダー( "アクセス制御許可ヘッダー:元、X-Requested-With、Content-Type、Accept"); POSTメソッドを使用してデータを送信し、あなたが使用するPOSTメソッドでなければなりませんgetメソッドを使用してデータを印刷

2

親愛なる友人が....

<?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; 
    } 
} 
?> 
関連する問題