Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
地理定位和jQuery-Can';t使用ajax发布结果_Jquery_Ajax_Codeigniter_Google Maps Api 3_Geolocation - Fatal编程技术网

地理定位和jQuery-Can';t使用ajax发布结果

地理定位和jQuery-Can';t使用ajax发布结果,jquery,ajax,codeigniter,google-maps-api-3,geolocation,Jquery,Ajax,Codeigniter,Google Maps Api 3,Geolocation,我目前正在进行一个项目,使一个位置感知网站。本质上,用户来到页面,使用HTML5方法找到他们的位置,然后使用jQuery将位置发布到一个页面,该页面将位置/地址保存到codeigniter会话中,但如果他们想更新位置或更改到其他位置(也就是说,他们希望使用自己的工作地址作为位置,而不是当前地址),有一个jQuery颜色框,可以显示并允许他们键入自定义地址 获取初始位置时,一切都完美无瑕,但当我尝试保存更新的位置时,我收到错误“未捕获的TypeError:Object[Object DOMWind

我目前正在进行一个项目,使一个位置感知网站。本质上,用户来到页面,使用HTML5方法找到他们的位置,然后使用jQuery将位置发布到一个页面,该页面将位置/地址保存到codeigniter会话中,但如果他们想更新位置或更改到其他位置(也就是说,他们希望使用自己的工作地址作为位置,而不是当前地址),有一个jQuery颜色框,可以显示并允许他们键入自定义地址

获取初始位置时,一切都完美无瑕,但当我尝试保存更新的位置时,我收到错误“未捕获的TypeError:Object[Object DOMWindow]没有方法“lat””,然后Google Chrome将该错误引用为Google Maps API文件中的错误,而不是jQuery中的错误。有什么建议吗

jQuery('.inputsubmit').click(function() {

//Takes values from user submitted fields and parses them into an address string
var street = jQuery('.inputaddress').val();
var city = jQuery('.inputcity').val();
var state = jQuery('.inputstate').val();


var address = street +" "+ city +", " +state;

   geocoder = new google.maps.Geocoder();
   var geocoderresult= geocoder.geocode({'address': address}, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
           var newlocation = results[0].geometry.location;

               //Posts coordinates and address string to a CodeIgniter function to update users session information
               jQuery.post("somepage", {location: newlocation, address: address},function(data) {
             alert("Data Loaded: " + data);
           });

       } else {
          alert("Geocoder failed due to: " + status);
       }
    });

});
我已经尝试了所有我能想到的方法来让帖子正常工作。所有的代码都能正常工作,我已经注释掉了帖子行,所有的东西都正常工作。这是我们主要网站的功能之一,可以根据位置提供即时和快速的结果


谢谢!

我认为除了原始页面之外,您还需要将您的Google API代码加载到
somepage
上。因为
$.POST
找不到
lat
对象,似乎
somepage

上没有包含geolocation.js文件,我认为您需要将您的Google API代码加载到
somepage上
添加原始页面。由于
$.POST
找不到
lat
对象,似乎geolocation.js文件未包含在
somepage

发布的javascript代码的哪一行导致错误?Chrome的检查器应该告诉您map api的main.js的第12行file@mattb-它发生了Google Chrome不是在jQuery中引用的错误,而是在Google Maps API的文件中引用的错误。这通常意味着您向API传递了一个API不期望的参数。请通过确认传递到API的参数值来进行调试。是的,在我的代码中,我有一个警报框,显示函数每个步骤的每个值。到API的所有内容都是用户输入的地址,它确实返回了correct坐标,直到jQuery.post尝试运行,它才会中断“somepage”返回的是哪种数据?是“somepage”在与当前页面相同的域/子域/端口上?发布的javascript代码的哪一行导致了错误?Chrome的检查器应该告诉您map api的main.js的第12行file@matt它发生在谷歌地图API中。“谷歌浏览器引用的错误不是在jQuery中,而是在谷歌地图API的文件中”。这通常意味着您向API传递了一个API不期望的参数。请通过确认传递到API的参数值来进行调试。是的,在我的代码中,我有一个警报框,显示函数每个步骤的每个值。到API的所有内容都是用户输入的地址,它确实返回了correct坐标,直到jQuery.post尝试运行,它才会中断“somepage”返回的是哪种数据?与当前页面在同一域/子域/端口上的是“somepage”吗?