Неожиданный идентификатор с URL-адресом API - PullRequest
0 голосов
/ 16 января 2020

Мой код принимает данные от пользователей и сохраняет их по функциям в локальном хранилище в глобальные переменные first_name, last_name и domain. Я пытаюсь передать эти переменные в API hunterIO в моем коде через функцию ajaxing, используя jquery. По какой-то причине код выдает неожиданный идентификатор в части кода кода.

document.querySelector('#url_But').addEventListener("click", ajaxing, false);

function ajaxing() {
  $.ajax({
    f_url = "https://api.hunter.io/v2/email-finder? 
      domain="+domain+"first_name="+first_name+"&last_name="+last_name+
      "&api_key=[REDACTED]"
    //  Error gets thrown here ^^ 'Unexpected identifier'
    url: f_url,
    type: 'GET',
  }).done(function(dataObj) {
    console.log(dataObj.data.first_name);
  }).fail(function(xhr, textStatus, errorThrown) {
    alert("Error: " + xhr.status + " " + textStatus);
  })
};

Я также обеспокоен тем, что после исправления этой проблемы появится другой. Потому что изучение API запросов через jquery было путешествием из ада.

Ответы [ 2 ]

2 голосов
/ 16 января 2020

У вас есть две проблемы. Во-первых, вы не можете определить переменную внутри объекта. Переместите объявление f_url за пределы $.ajax(). Во-вторых, вы не можете иметь разрывы строк в строке. Вы можете поместить все это в одну строку, объединить отдельные строки или использовать шаблонный литерал. Попробуйте это:

document.querySelector('#url_But').addEventListener("click", ajaxing, false);

function ajaxing() {
  let f_url = "https://api.hunter.io/v2/email-finder?domain=" + domain + "&first_name=" + first_name + "&last_name=" + last_name + "&api_key=[REDACTED]"

  $.ajax({
    url: f_url,
    type: 'GET'
  }).done(function(dataObj) {
    console.log(dataObj.data.first_name);
  }).fail(function(xhr, textStatus, errorThrown) {
    alert("Error: " + xhr.status + " " + textStatus);
  })
};

Наконец обратите внимание на отсутствующее & перед свойством first_name в URL.

0 голосов
/ 16 января 2020

Вы должны передать url в качестве первого параметра в $.ajax(), не объявляя его внутри, поскольку это функция.

Просто объявите f_url перед $.ajax() и передайте его параметру url.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...