我有 java 脚本函数,它在该函数内部给出当前的经纬度,使一个像这样的 http post 调用“this.http.post”但是函数内部的这个 null 的值
我的代码
ngOnInit(): void {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(p) {
var LatLng = new google.maps.LatLng(p.coords.latitude, p.coords.longitude);
console.log(p.coords.latitude);
console.log(p.coords.longitude);
var dataObj = {
latitude: p.coords.latitude,
longitude: p.coords.longitude
};
this.http.post('https://XXXXX/datacenteres.php', {
dataObj
})
.subscribe(
res => {
console.log(res);
},
err => {
console.log("Error occured");
}
);
}
}
}
我在控制台中收到此错误“无法读取 null 的属性‘http’”。
在 navigator.geolocation.getCurrentPosition(function (p) { 这是 null }
在 If 语句中,我能够得到“this”。
最佳答案
你可以像下面这样使用箭头函数:
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(p => {
//var LatLng = new google.maps.LatLng(p.coords.latitude, p.coords.longitude);
console.log(p.coords.latitude);
console.log(p.coords.longitude);
var dataObj = {
latitude :p.coords.latitude,
longitude:p.coords.longitude
};
this.http.post('https://XXXXX/datacenteres.php', {
dataObj
})
.subscribe(
res => {
console.log(res);
},
err => {
console.log("Error occured");
}
);
})
}
关于javascript - 这在 javascript 函数中变为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47765797/