CURL POST запрос в Javascript - PullRequest
0 голосов
/ 04 мая 2018

Я пытаюсь написать следующий 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, поэтому он должен работать без какой-либо явной задачи, чтобы показать ответ.

Буду признателен за любую помощь!

1 Ответ

0 голосов
/ 07 мая 2018

На всякий случай, если у кого-то такая же проблема, как и у меня. Вы должны использовать 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);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...