вызовите остальные API с помощью Ajax, вызвав функцию - PullRequest
0 голосов
/ 15 мая 2018

Мне нужно вызвать API остальных и получить ответ, который я сейчас делаю, и он отлично работает, но мне нужно вызвать это через функцию, и мне нужно передать два параметра, которые будут использоваться в URL, инужно вернуть ответ от этой функции, чтобы я мог использовать его в других классах.

$.ajax({
  url: "BaseURL"+param1+"/" + param2
}).then(function (data) {
  if (data.test== null)
    self.prop1(data.test);
  if (data.test2 !== null)
    self.prop2(data.test2);
  if (data.test3 !== null)
    self.prop3(data.test3)
});

Можете ли вы предложить какой-либо способ сделать это, пожалуйста, дайте мне знать, если вам нужна информация отмоя сторона.

Ответы [ 2 ]

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

Вы можете создать функцию с обоими параметрами и третьим параметром в качестве обратного вызова для возврата данных

function request(param1, param2, callback) {
  $.ajax({
    url: "BaseURL"+param1+"/" + param2
  }).then(function(data) {
    callback(data);
  });
}

или с асинхронным

const req = async (param1, param2) => {
  try {
    let data = await $.ajax({url: `BaseURL${param1}/${param2}`});
    return data;
  } catch(e) {
    console.error(e);
  }
}
0 голосов
/ 15 мая 2018

Я бы посоветовал вам создать URL вне функции:

// Define URL variable 
var BaseURL = 'www.baseurl.com';
var param1 = '<param1>';
var param2 = '<param2>';
var URL = `${BaseURL}${param1}/${param2}`

function AJAXPost(RequestType, formData, URL){
    $.ajax({
      url: URL
      type: RequestType,
      data: formData
      //Test success / error
    })
}
...