一般API问题

时间:2015-12-14 00:56:05

标签: javascript jquery api

我是编码和使用API​​的新手。我有点知道我在做什么,但并不完全,在使用它们时。我知道"一般理念"但我在细节上挣扎。

我正在使用This API: US, State, and PR Total Population and Components of Change

我想要做的是输入状态代码,名称或缩写(我不完全确定它们是如何设置的,但我认为它是按代码设置的)。 他们有几个变量位于here.

我是否应该将变量的名称放在" var request"的位置? ?

我应该输入变量的名称然后是单词state吗?像这样:

var request = {
"variable name 1": "state",
"variable name 2": "population density",
"Key": 'my key value that someone suggested that I not post'
}

自我/其他人阅读此帖子的注意事项,我也会在进行实验时保持更新:

  1. 如果我把" STATE.name":STATE,我收到一条关于如何" STATE"的错误消息未定义。
  2. 如果我输入" name":" STATE",我收到此错误消息
  3.   

    否'访问控制 - 允许 - 来源'标头出现在请求的资源上。起源' null'因此不允许访问。响应的HTTP状态代码为400。

    1. 如果我输入" name":STATE,我会收到与1号相同的错误消息,所以很明显也不是答案。这显然比第2步更好,因为我不想使用引用。我不知道为什么我在第2步中这样做了。
    2. 原创/这就是我现在拥有的JavaScript / jQuery:

      var getStateInformation = function(stateID){
          //the parameters that we need to pass in our request to the United States Census API
          var request = {
              "Name": "STATE",
              "key": 'The key that someone suggested that I not post online'
          }
      
          $.ajax({
              type: "GET",
              data: request,
              url: "http://api.census.gov/data/2013/pep/natstprc",
              dataType: "json",
          })
          //What the function should do if successful
          .done(function(result){
              var stateSearch = $('#inputBox').val();
              showStateInformation(stateSearch);
              })
      
          //What the function should do if it fails
          .fail(function(jqXHR, error){
              var errorElem = showError(error);
          })
      
      
      }
      

1 个答案:

答案 0 :(得分:0)

这是关于JQuery Ajax(完全控制)的代码。

希望这个建议!

function getStateInformation(stateID) {
    //the parameters that we need to pass in our request to Spotify's API
    var request = {
        "Name": "STATE",
        "key": 'The key that someone suggested that I not post online'
    }

    $.ajax({
        url: "",
        data: request, dataType: 'json', type: 'GET',
        beforeSend: function () {
            // show loading ( Example )
            $(JQuerySelector.loading).show();
        },
        success: function (data) {
            // this is success callback
            if (data.Error == null) {
                // api success
                if (data.StateFound) {
                    $("#StateFound").show();
                    $("#StateInfo").val(data.StateData);
                }
                else {
                    $("#StateFound").hide();
                    $("#StateInfo").val("");
                }
            }
            else {
                // api not success show error message here
                alert(data.Error);
                // or 
                console.log(data.Error);
            }
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            // error call back
            // output alert or console.log or ....
            AjaxErrorMessage(XMLHttpRequest, textStatus, errorThrown);
        },
        completed: function () {
            // hide loading ( Example )
            $(JQuerySelector.loading).hide();
        }
    });
}

当您需要API来执行某些操作时。