我已经完成了谷歌和许多其他页面的研究,我可以通过traccar api提取数据here所以我做下一个研究如何使用它,并最终找到这个答案here mvalverde 。在那个岗位上,他写一些代码,就像这样:如何使用traccar api获取设备
// find All devices - GET request
var result = HTTP.call(
"GET",
'http://your_domain:8082/api/devices/',
{
auth: '[email protected]:password' ,
params: {
}
}
);
// add device
var name = 'name your device';
var uniqueId = '122323223232'; // usually this is the device imei
var result = HTTP.post(
'http://your_domain:8082/api/devices/',
{
auth: '[email protected]:password' ,
data:{
groupId:null,
id: null,
lastUpdate:null,
status:'',
name:name,
uniqueId:uniqueId
}
}
);
他说这是JavaScript的,所以我尽量实现在JavaScript方式:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>try traccar api</title>
</head>
<body>
<script type="text/javascript">
var result = HTTP.call(
"GET",
'http://103.23.20.176:8082/api/devices/',
{
auth: 'email:password' ,
params: {
}
}
);
console.log(result);
</script>
</body>
</html>
,但我在控制台中看到的错误。我怀疑它不是纯粹的JavaScript,如果它可以指导我使用JavaScript编写实现。所以任何人都可以帮我解决这个问题。
PS:我仍然在JS领域的新秀
== == UPDATE
感谢Anton tananaev,我解决了这个问题,像这样:再次
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>try traccar api</title>
</head>
<body>
<script src="js/jquery-2.2.2.min.js" charset="utf-8"></script>
<script type="text/javascript">
$.ajax({
type: 'get',
url: 'http://103.23.20.176:8082/api/devices/',
headers: {
"Authorization": "Basic " + btoa("admin:admin")
},
success: function (response) {
console.log(response);
}
});
</script>
</body>
</html>
和1个问题,怎么样发布数据?我试试这样:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>try traccar api</title>
</head>
<body>
<script src="js/jquery-2.2.2.min.js" charset="utf-8"></script>
<script type="text/javascript">
var name = "Bus 2";
var uid = "1212321233";
$.ajax({
type: 'post',
url: 'http://103.23.20.176:8082/api/devices/',
headers: {
"Authorization": "Basic " + btoa("email:pass")
},
data:{
id:null,
name:name,
uniqueId:uid,
groupId:null,
status:'',
lastUpdate:null
},
success: function (response) {
console.log(response);
}
});
</script>
</body>
</html>
但我得到状态码415不受支持的媒体类型。我在代码中想念什么?
== ==关
最终代码,接下来的问题就在这里,
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>try traccar api</title>
</head>
<body>
<script src="js/jquery-2.2.2.min.js" charset="utf-8"></script>
<script type="text/javascript">
var name = "Bus 3";
var uid = "1243232133";
$.ajax({
type: 'post',
url: 'http://103.23.20.176:8082/api/devices/',
headers: {
"Authorization": "Basic " + btoa("email:pass")
},
contentType:"application/json",
data:JSON.stringify({
name:name,
uniqueId:uid
}),
success: function (response) {
console.log(response);
}
});
</script>
</body>
</html>
谢谢你,我解决我的问题:)
什么错误,你所看到的? – RiggsFolly
ReferenceError:HTTP未定义@RiggsFolly – dyaadin