php - XMLHttpRequest 到 PHP 脚本 - 这里缺少什么?

标签 php ajax

这是我第一次使用 AJAX,我正在尝试将 JS 变量发送到 PHP 脚本。我有一个 XMLHttpRequest 但它似乎不完整 - 我缺少什么?

    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(successFunction, errorFunction);
    }
    else {
        document.write("Geolocation is required for this page.");
    }

    function successFunction(position) {
        var lat = position.coords.latitude;
        var lng = position.coords.longitude;
    //    document.write("<a href='http://api.geonames.org/findNearbyPlaceNameJSON?lat="+lat+"&lng="+lng+"&username=sebastiano'>my town</a>");

        var xmlhttp;
        if (window.XMLHttpRequest) {
            // code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp=new XMLHttpRequest();
        }
        else {
            // code for IE6, IE5
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }

        xmlhttp.open("GET","location.php?lat=position.coords.latitude",true);
        xmlhttp.send();

        // SOMETHING MISSING HERE?

    }

    function errorFunction(position) {
        document.write("Error");
    }

最佳答案

看来您没有将变量的内容传递给 open 命令。

xmlhttp.open("GET","location.php?lat=position.coords.latitude",true);

在此示例中,您的纬度将包含一个内容为“position.coords.latitude”的字符串

尝试一下

xmlhttp.open("GET","location.php?lat="+position.coords.latitude,true);

或者更好的是,使用您在函数顶部创建的变量并传入 long 和 lat。

xmlhttp.open("GET","location.php?lat=" + lat + "&long=" + lng,true);

关于php - XMLHttpRequest 到 PHP 脚本 - 这里缺少什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6596969/

相关文章:

php - Laravel 在 MySQL 中的 JSON 字段的帮助下创建 API 返回

php - JQuery 和 PHP 替换

php - 在 PHP 中使用 SQL 查询获取当前(系统)日

javascript - 停止导航以进行 ajax 调用

php - 如何在php中使用ajax搜索关键字

php - SDK 错误 URL 和 session 中的 "state"参数不匹配

php - MySQL PHP PDO 远程服务器

javascript - Ruby on Rails 动态引导模态表

javascript - SAPUI5:如何在将数据推送到OData服务时显示加载对话框?

jquery - 使用ajax Jquery调用API