我正在尝试使用JavaScript中的对象存储用户ID(键)和GPS坐标数组,但由于某种原因每次添加一组新坐标(当它从数据库中拉出时),它覆盖数组中的先前坐标(值)而不是追加。
$(function () {
$(document).ready(function(){
setInterval(function(){
$.ajax({
url: 'api.php', //the script to call to get data
data: "",
dataType: 'json', //data format
success: function(data){ //on recieve of reply
var loc = {};
user_id = data[0];
lati = data[1]; //get id
longi = data[2]; //get name
var myLatlngt = 'new google.maps.LatLng(' + lati + ',' + longi + ')';
if (typeof loc[user_id] === 'undefined') {
loc[user_id] = [];
}
loc[user_id].push(myLatlngt);
console.log('loc :::', loc);
这是日志:
Resource interpreted as Other but transferred with MIME type undefined.
map2.php:50loc ::: Object
86ad04fb-1da5-4118-8b00-942676d62387: Array[1]
0: "new google.maps.LatLng(51,-82)"
length: 1
__proto__: Array[0]
__proto__: Object
长号码(86ad04 ...)是用户ID(键),但是如果我发送新坐标,它会覆盖而不是追加。我很感激能得到的任何帮助。
由于
答案 0 :(得分:2)
因为每次进入函数时都会清空loc
:
var loc = {};
答案 1 :(得分:0)
您需要将var loc = {};
放在ajax回调之外,以便在多个ajax请求中保留其状态。