我正在尝试写以下
cURL
请求:
$ curl -d @your_filename.json -H "Content-Type: application/json" -i "https://www.googleapis.com/geolocation/v1/geolocate?key=ENTER-KEY"
在 JavaScript 中:
$.ajax({
data: JSON.stringify(data),
url: "https://www.googleapis.com/geolocation/v1/geolocate?key=ENTER-KEY",
type: 'POST',
dataType: 'json',
contentType: 'application/json',
success: function() {
console.log(data);
},
error: function(){
alert("wrong");
}
});
这一切都是在堆栈溢出中偶然出现的(这里所有的 qns 都是关于发布登录和通过)。此请求应以
json
格式向 Google 发送信息,并且应以 json
格式给出响应。但什么也没发生。
是否应该采取一些措施来显示响应?我认为 ajax 使用 XmlHttpRequest
,所以它应该可以在没有任何显式任务来显示响应的情况下工作。
如果有任何帮助,我将不胜感激!
以防万一有人遇到和我一样的问题。你应该使用 fetch() 来做这样的事情,它真的很方便:
var url = 'https://www.googleapis.com/geolocation/v1/geolocate?key=YOUR_KEY';
var data = {some: json};
fetch(url, {
body: JSON.stringify(data),
headers: {
'dataType': 'json',
'content-type': 'application/json'
},
method: 'POST',
redirect: 'follow'
})
.then(response => {
if (response.status === 200) {
console.log(response.text());
} else {
throw new Error('Something went wrong on api server!');
}
})
.catch(error => {
console.error(error);
});