0

我既是 sencha 又是 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);
     },

我的getpoi php文件代码如下......

    <?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);

    ?>

php 文件正在工作,因为如果我在文件本身中将 set poiid 更改为 3 并在浏览器中打开它,我就会得到位置。但是,如果我通过按钮在 sencha 应用程序中调用它,控制台会正确记录“服务器 ping”,但会记录“未定义”而不是坐标。任何想法我做错了什么?

提前致谢

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 或检查元素)

于 2012-12-14T16:09:16.790 回答