電子書籍の厳選無料作品が豊富!

Ajaxでプルダウン連動をしようとしています。
id="prm"と設定したプルダウンを変更して
プルダウンprm2を設定しようとしています。
エラー処理の表示もできません。
SJIS環境でエンコードしています。
jsonには入っています。
配列のkey部分には連続しないコードの数値が入ります。
どこが悪いのか教えてください
/* test.php */
$sql = "select hoge,foo ";
$sql .= " from table_a ";
$sql .= " where start <= '".date("Y-m-d")."' ";
$sql .= " and end >= '".date("Y-m-d")."' ";
$sql .= " ・・・・・ ";
$sql .= " ・・・・・ ";
$pnt =DbExec($conn, $sql);
if (@mssql_num_rows($pnt)){
while ($rows = mssql_fetch_array($pnt)) {
$hoge=mb_convert_encoding($rows['hoge'],"UTF-8");
$foo=mb_convert_encoding($rows['foo'],"UTF-8");
$c_ary[$hoge]=$foo;
}
}
echo json_encode($c_ary);

/* HTML */
$(function(){
//プルダウンに変更
$('#prm').change(function(){
var prm = $('#prm').val();
$.ajax({
url : "test.php",
dataType : "json",
data : {prm:prm},
type : "post",
success: function(data, status){
$("#prm2").empty();
$.each(data,function(i) {
$('#prm2').append($('<option>').attr({ value: i }).text(data[i]));
});
},error : function(){
alert(data.responseText);
}
});
});
});

A 回答 (1件)

完全に検証してなくて申し訳ないんですが、



1.phpの json_encode() 関数はSJIS未対応
2.ブラウザの HttpXmlRequest(要するにAjax)もSJIS未対応

の二重苦で、結局全部UTF-8にしないと動作しないんと違いますか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!