Получить JSON ответ

475
20 февраля 2017, 19:13

Работаю с API Yandex.

Получаю ответ в формате JSON.

На JS проблем нет:

$.ajax({
   url: "https://api-metrika.yandex.ru/stat/sources/phrases.json",
   data: {
      id: "значение id",
      pretty: "1",
      oauth_token: "Значение ключа"
   },
   dataType: "jsonp",
   success: function(data) {
      var str = "";
      var len = data.data.length
      for (var i = 0; i < len; i++) {
         str += data.data[i].visit_time + ", ";
      }
      $("div").html(str);
   }
});

Но в целях безопасности (не хочу светить id и token), хочу получить файл через curl, а затем просто результат послать в ответ AJAX и работать как я работал выше в результатом AJAX. То есть парсить все JS

Answer 1

php

if( $curl = curl_init() ) { 
    curl_setopt($curl, CURLOPT_URL, "https://api-metrika.yandex.ru/stat/sources/phrases.json"); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
    curl_setopt($curl, CURLOPT_POST, true);
    // данные, которые отправляются
    curl_setopt($curl, CURLOPT_POSTFIELDS, "id=test_id&pretty=1&oauth_token=test_oauth_token"); 
    $out = curl_exec($curl);
    echo $out;
    curl_close($curl);
}

js

$.ajax({
  url:"metrika.php",
  dataType: "jsonp",
  success: function (data) {
      console.log(data)
  },
  error: function (xhr, ajaxOptions, thrownError) {
     console.log(xhr.status);
     console.log(thrownError);
  }
});
READ ALSO
Тесты React компонентов. Mocha, Enzyme. Не проходят тесты

Тесты React компонентов. Mocha, Enzyme. Не проходят тесты

Использую Mocha, тесты EnzymeПроект большой довольно таки и тесты пишутся(как обычно бывает) в самом конце, рефакторинг так сказать

516
Firefox Add-ons - Рандомный выбор строки из файла

Firefox Add-ons - Рандомный выбор строки из файла

Можно ли как-то сделать рандомный выбор строки из файла для расширения Firefox?

312
JavaScript метод sort() и Math.random()

JavaScript метод sort() и Math.random()

Изучаю JavaScript, метод sort() Все в общем-то понятно было, но далее я встретил пример из учебника с методом Mathrandom() :

595