HTML没有显示在Firefox上

ada*_*akk 5 php jquery geolocation ip-geolocation

我试图通过AJAX返回一个PHP页面,它总是在Chrome中加载.在Firefox中,它加载大约5%的时间,有时加载没有任何JS/PHP错误.我只是在没有CSS的情况下直接回复html.

这是我的Ajax:

if(geo_position_js.init()){
            geo_position_js.getCurrentPosition(displayPosition,error_callback,{enableHighAccuracy:true,options:5000});
        }
        else{
            alert("Functionality not available");
        }

        function error_callback(p)
        {
            alert('error='+p.message);
        }       

    function displayPosition(loc) {
        var mylat = loc.coords.latitude;
        var mylong = loc.coords.longitude;
        $.ajax({
            type: "POST",
            url: "distancetest.php",
            data: "long="+mylong+"&lat="+mylat,
            success: function(html2){
                $('#locationinfo').html(html2);
                console.log(html);
           }
        });

    }
Run Code Online (Sandbox Code Playgroud)

我的PHP基本上这样做了几次:

$query = "SELECT * FROM tbl_geo WHERE cat_id=1";
    $result = mysql_query ($query) or die(mysql_error());
    echo "<h2>Restaurants</h2>";
    while ($row = mysql_fetch_array($result)){
        if($row['lat'] != ''){
            $distance = distance($_POST['lat'], $_POST['long'], $row['lat'], $row['lng'], "k");
            if($distance < 2000){
                $attractions[] = array('name' => $row['name'], 'address' => $row['address'], 'distance' => $distance);
            }
        }
    }
    $attractions = array_sort($attractions,'distance');
    $attractions = array_values($attractions);
    for ($i = 0; $i <= 10; $i++) {
        if(isset($attractions[$i]['distance'])){
            echo 'You are '.$attractions[$i]['distance'].'km away from '.$attractions[$i]['name'].' at '.$attractions[$i]['address'].'<br/>';
        }
    }
Run Code Online (Sandbox Code Playgroud)

适用于某些浏览器,但在其他浏览器中不显示.有任何想法吗?

更新:原来这是Firefox中的地理定位问题.它无法获得该位置但未返回error_callback函数.现场示例如下:http://adamzwakk.com/geolocate/

Cni*_*roh 0

您确定您的浏览器支持您正在做的事情吗?

试试这个: http: //html5demos.com/geo

您还可以下载wireshark并查看您发送的和服务器返回的信息。

将空白 php 页面(仅回显随机字符串)放在要生成 php 的同一目录中也是一个很好的做法,并查看它是否正常工作。在基于 Windows 的服务器上,一个常见问题是 PHP 可以设置为在特定目录中工作,而由于安装错误,PHP 在其他目录中可能会失败。每个浏览器处理错误和警告消息的方式都不同,因此如果它在 Chrome 中工作,并不意味着它在其他所有浏览器上都工作。您尝试过 Safari 和 Opera 吗?