1

これは私のajax呼び出しです

<script src = "js/jquery.js" type = "text/javascript"></script>
<script type="text/javascript">

$(document).ready(function(){

    $('#DepartmentNameDropdown').change(function(){

        $('#DepartmentName').attr('value', document.getElementById("DepartmentNameDropdown").options[document.getElementById("DepartmentNameDropdown").selectedIndex].text);                                 

    $.ajax({
        type: "POST",
        dataType: "json",
        url: "http://localhost:8081/crownregency/getInfo.php",
        data: {id : $('#DepartmentNameDropdown').val()}, //data: {status: status, name: name},
        success:function(data){
            $('#DepartmentDescription').attr('value', data.Desc);
        }           
    });
});                    
});
$('#DepartmentName').attr('value', $('#DepartmentNameDropdown').text());    

</script>

これは私のgetinfo.phpです

<?php
mysql_connect("localhost", "root", "");
mysql_select_db("jkings");
$value = $_POST['id'];
$query = mysql_query("SELECT * FROM department WHERE dept_ID = $value");
$row = mysql_fetch_array($query);
$desc = $row['dept_desc'];
$mission = $row['dept_mission'];
$struct = array('Desc' => '$desc', 'Mission' => '$mission');
session_start();
$_SESSION['id'] = $value;

echo json_encode($struct);
//echo $row['dept_desc'];
?>

コードのどこを間違えたのかわかりませんが、json の応答にアクセスできないようです。私はこれにさまざまな方法を試しました。私はまだこのajaxとjsonを学んでいるので、どこで間違いを犯したかを確認するのは難しいです

4

2 に答える 2

0

完全にはわかりませんが、変更する必要があるかもしれません

$('#DepartmentDescription').attr('value', data.Desc);

の中へ

$('#DepartmentDescription').attr('value', data['Desc']);

また、

$struct = array('Desc' => '$desc', 'ミッション' => '$ミッション');

に変更する必要があります

$struct = array('Desc' => $desc, 'Mission' => $mission);

于 2012-08-17T02:06:12.800 に答える
0

あなたのJavaScriptは問題ないようです。問題がどこにあるのかを検出するためにこれを提案します

 $.ajax({
    type: "POST",
    dataType: "json",
    url: "http://localhost:8081/crownregency/getInfo.php",
    data: {id : $('#DepartmentNameDropdown').val()}, //data: {status: status, name: name},
    success:function(data){
         alert(data.Desc)// should alert [object object] if all is well with your php code
        $('#DepartmentDescription').attr('value', data.Desc);
    }           
});

私は本当にそれを疑っていますが、大文字と小文字の区別の問題である可能性があるので、変更する可能性があります

dataType:'json' to dataType:'JSON'

また、Chrome を使用している場合は、開発者ツールを使用して、javascript エラーがあるかどうかを確認します (サファリ用に開発)。

于 2012-08-17T02:16:34.603 に答える