1

mysql データベースからデータを読み取って、javascript ファイルに渡そうとしています。インターネットで多くの検索を行ったところ、私の場合は機能しない例が見つかりました。

.html ファイル

<!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'>
<script language='JavaScript' type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js'></script>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
<title>Display Page</title>
</head>

<body>
<button type='button' id='getdata'>Get Data.</button>

<div id='result_table'>

</div>

<script type='text/javascript' language='javascript'>

$(document).ready(function(){
$('#getdata').click(function(){
    alert("hello");
    $.ajax({
            url: 'db.php',
            type:'POST',
            dataType: 'json',
            success: function(output_string){
                    alert(output_string);
                },
                    error: function (xhr, ajaxOptions, thrownError){
                    alert(xhr.statusText);
                    alert(thrownError);
                    }
    }); 

});
});
</script>
</body>
</html>

および .php ファイル

<?php
echo 'hello';
        $user = 'root';
        $pass = '123';
        $host = 'localhost';
        $db = 'internetProgrammeringProj';

        $connect = mysql_connect($host,$user,$pass);
        $select = mysql_select_db($db,$connect);

        $query = $_POST['query'];
        $mysql_query = mysql_query("SELECT * FROM ratt ");
        $temp = "";
        $i = 0;
        while($row = mysql_fletch_assoc($mysql_query)){
            $temp = $row['id'];
            $temp .= $row['namn'];
            $temp .= $row['typ'];
            $temp .= $row['url'];
            $temp .= $row['forberedelse'];

            $array[i] = $temp; 
            $i++;
        }



        echo json_encode($array);   
?>

アラート (xhr.statusText); パーサーエラーを与える

アラート (スローされたエラー); SyntaxErrorを与える:JSON.parse:予期しない文字

firebug はコンソールにエラーを表示しません。

質問: プログラムでデータベースからコンテンツを取得し、それを json で渡して ajax でアラートを表示するにはどうすればよいですか?

4

1 に答える 1

1

このコードを正常に実行しました。

私がしなければならなかったのはecho "hello"、JSON を台無しにする最初の を削除することだけです。

今後の開発に役立つその他のヒント:

  • 使用しないでくださいalert('message')。を使用しconsole.log('message')ます。の出力はconsole.log「開発者エリア」で見ることができます。クロムでは、F12 を押すだけです。FFではfirebugか何かをインストールする必要があると思います。
  • output_stringin 関数successは実際にはオブジェクトです。
  • Chrome の「開発者エリア」では、バックエンドからの応答も確認できます。これを使用したことがある場合は、出力が次のようになっていることがhello{ "key":"value"}わかり、最初の厄介なこんにちはにすぐに気付くでしょう。詳細については、http://wiki.mograbi.info/developers-tools-for-web-developmentをご覧ください。
于 2013-10-17T11:22:51.247 に答える