通过调用函数使用Ajax调用rest api

时间:2018-05-15 09:09:09

标签: javascript ajax rest user-interface

我必须调用其余的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 :(得分:0)

我建议您在函数之外构建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
    })
}

答案 1 :(得分:0)

您可以使用两个参数和第三个参数创建一个函数作为tyhe回调,以返回数据

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);
  }
}