AJaxで連動するプルダウンを作成したのですが、
データを飛ばして、jasnでデータを受信するまでは良いのですが、
プルダウンの生成時にエラーと判定されます。
var index = $(".department").index(this) + 1; var val = $("#pd1" + index).val(); $.ajax({ type: "POST", url: "/KU002", data: {"value":val}, dataType: "json", success: function(data, status){ $('#pd' + index).empty(); $.each(data, function(key, vals){ $('#pd' + index ).append($('<option>').text(vals).attr('value', key)); }); }, error: function(XMLHttpRequest, status, errorThrown){ alert("エラーが発生しました!"); } });
controller
<?php //データ class KU002 extends CI_Controller { function __construct(){ // Model クラスのコンストラクタを呼び出す parent::__construct(); $this->load->library('encrypt'); $this->load->model('array_constant'); $this->load->helper(array('form', 'url')); $this->load->library('form_validation'); $this->load->library('form_ex'); $this->load->library('common'); $this->load->helper('string'); $this->load->model('kmu002'); } public function index(){ //対象データの取得 $ary = $this->kmu002->Get_Array(); echo json_encode($ary); } } ?>
model
<?php class Kmu002 extends CI_Model { var $title = ''; var $content = ''; var $date = ''; function __construct(){ // Model クラスのコンストラクタを呼び出す parent::__construct(); $this->load->model('array_constant'); } //取得 public function Get_Array(){ //POSTデータ $post_array = array(); $post_array = $this->input->post(); $array = array(); array_push($array,$post_array["value"]); // array_push($array,"55"); //情報取得 $sql = " select eno as eno,ename as ename "; $sql .= " from master "; $sql .= " where code_department = ? "; $query = $this->db->query($sql,$array); $ary = array(); $ary["-----"] = "選択してください"; if($query->num_rows() > 0){ foreach($query->result() as $row){ $ary[$row->eno] = $row->ename; } } //echo "<pre>"; //print_r($ary); //echo "</pre>"; return $ary; } } ?>
データ(URL直アクセスでPHPにアクセスした場合)
{"003":"\u3066\u3059\u3068\u3000\u3066\u3059\u3068\uff13","014":"\u3066\u3059\u3068\u3000\u3066\u3059\u3068\uff11\uff10","040":"\u3066\u3059\u3068\u3000\u3066\u3059\u3068\uff11\uff17","075":"\u3066\u3059\u3068\u3000\u3066\u3059\u3068\uff12\uff14","100":"\u3066\u3059\u3068\u3000\u3066\u3059\u3068\uff13\uff11","114":"\u3066\u3059\u3068\u3000\u3066\u3059\u3068\uff13\uff18","125":"\u3066\u3059\u3068\u3000\u3066\u3059\u3068\uff14\uff12","136":"\u3066\u3059\u3068\u3000\u3066\u3059\u3068\uff14\uff15","145":"\u3066\u3059\u3068\u3000\u3066\u3059\u3068\uff15\uff10"}
こんなかんじでPHPからデータ取得しています。
(追記)
error: function(XMLHttpRequest, status, errorThrown){ alert("eT= " + errorThrown); alert("エラーが発生しました!"); }
とすると
SyntaxError: Unexpected token :
というエラーが出るようになりました。
こちら検索して調査中ですが、イマイチ良い情報が出てきません
PHPからのデータは取れていると思いますが、どこがおかしいのかが分からず困っています。
デベロッパツールでもエラがでず不明です。
ご教授頂ければと思います。
回答1件
あなたの回答
tips
プレビュー