地理定位和jQuery-Can';t使用ajax发布结果
我目前正在进行一个项目,使一个位置感知网站。本质上,用户来到页面,使用HTML5方法找到他们的位置,然后使用jQuery将位置发布到一个页面,该页面将位置/地址保存到codeigniter会话中,但如果他们想更新位置或更改到其他位置(也就是说,他们希望使用自己的工作地址作为位置,而不是当前地址),有一个jQuery颜色框,可以显示并允许他们键入自定义地址 获取初始位置时,一切都完美无瑕,但当我尝试保存更新的位置时,我收到错误“未捕获的TypeError:Object[Object DOMWindow]没有方法“lat””,然后Google Chrome将该错误引用为Google Maps API文件中的错误,而不是jQuery中的错误。有什么建议吗地理定位和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
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”吗?