0

私は煎茶とajaxの初心者です。mysqlサーバーに接続するphpファイルからいくつかのデータを返そうとしています。ボタンを押すと、ajaxリクエストがトリガーされます。

これがボタンが押されたときの私の煎茶コードです........

    onShow: function(){

        setInterval(function(){
            console.log("Server pinged");
            myRequest = Ext.Ajax.request({
            url: 'http://localhost/getpoi.php',
            method: 'GET',
            params: {
                poiid: '3'
            },
            callback: function(response) {
                console.log(response.responseText);
            }
        });

        },5000);
     },

私のgetpoiphpファイルコードは次のとおりです......。

    <?php
    $poiid = $_GET["poiid"];
    $lat;
    $long;
    $con = mysql_connect("localhost","root","");
    if (!$con)
      {
      die('Could not connect: ' . mysql_error());
      }

    mysql_select_db("murmuration_db", $con);

    $result = mysql_query("SELECT * FROM POI WHERE id=$poiid");

    while($row = mysql_fetch_array($result))
      {
        $lat = $row['anchor_geolocation_lat'];
        $long = $row['anchor_geolocation_lon'];
      }

    $response = $lat. ' '. $long;
    echo $response;
    return $response;
    mysql_close($con);

    ?>

ファイル自体でsetpoiidを3に変更し、ブラウザーで開くと、位置が取得されるため、phpファイルは機能しています。しかし、ボタンを使用してsenchaアプリ内で呼び出すと、コンソールは「サーバーping」を正しくログに記録しますが、座標ではなく「未定義」をログに記録します。私が間違っていることについて何か考えはありますか?

よろしくお願いしますA

4

1 に答える 1

0

ajaxがリクエストを正しく送信していないようです。これを試して:

setInterval(function(){
    console.log("Server pinged");
    myRequest = Ext.Ajax.request({
    url: 'http://localhost/getpoi.php?poiid=3',
    method: 'GET',
    callback: function(response) {
        console.log(response.responseText);
    }
});

F12キーを押してロードしていることを確認するには、ネットワークに移動してリクエストを確認します。;)(ChromeのFirebugまたはInspect Element)

于 2012-12-14T16:09:16.790 に答える