Javascript 中的 cURL POST 请求

问题描述 投票:0回答:1

我正在尝试写以下

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
,所以它应该可以在没有任何显式任务来显示响应的情况下工作。

如果有任何帮助,我将不胜感激!

javascript ajax curl post google-api
1个回答
0
投票

以防万一有人遇到和我一样的问题。你应该使用 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);
});
© www.soinside.com 2019 - 2024. All rights reserved.