【问题标题】:cURL POST request in JavascriptJavascript 中的 cURL POST 请求
【发布时间】:2018-05-04 09:24:56
【问题描述】:

我正在尝试编写以下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");
        }
    });

这一切都是在遇到堆栈溢出后出现的(这里所有的问题都是关于发布登录和通过)。此请求应以json 格式向 Google 发送信息,并且响应应以json 格式发送。但什么也没有发生。 是否应该采取一些措施来显示响应?我认为 ajax 使用 XmlHttpRequest,所以它应该可以在没有任何显式任务的情况下工作来显示响应。

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

【问题讨论】:

  • 您是否替换了your_filenameENTER-KEY 值?此外,响应应显示在浏览器的控制台中(在 chrome/firefox 中按 F12)
  • 嘿!谢谢,我当然知道了。我在控制台中查找,但什么也没有

标签: javascript ajax curl post google-api


【解决方案1】:

以防万一有人遇到和我一样的问题。您应该将 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);
});

【讨论】:

    猜你喜欢
    • 2019-01-17
    • 2015-05-13
    • 1970-01-01
    • 1970-01-01
    • 2021-11-14
    • 2018-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多