【问题标题】:Dynamically code API user input using getJSON使用 getJSON 动态编码 API 用户输入
【发布时间】:2020-03-26 13:10:09
【问题描述】:

我正在尝试使用 Unsplash API 通过用户输入生成图像。到目前为止,当 query= 被硬编码时,我已经能够检索图像,但我希望结果根据用户键入和提交到查询中的内容而有所不同。下面我将“dog”硬编码为查询输入。

到目前为止,这是我的代码:

var client_id = "fcbcd3e60e7f6615d0e5c64ab8e830d9695c4c30a74586e8d234f9835923ad75";

$("#fieldsubmit").click(function(){
  query = $("#query").val();
})

$.getJSON('https://api.unsplash.com/search/photos?page=1&query=dog&client_id=fcbcd3e60e7f6615d0e5c64ab8e830d9695c4c30a74586e8d234f9835923ad75', function(data) {
  console.log(data);

  var imageList = data.results;
  $.each(imageList, function(i, val) {

    var image = val;
    var imageURL = val.urls.regular;
    var imageWidth = val.width;
    console.log(imageURL);

  $('.grid').append('<div class="image"><img src="'+ imageURL +'"</div>')

  });
});

【问题讨论】:

    标签: javascript ajax api dynamic getjson


    【解决方案1】:

    要么将 JSON 调用放入要在单击处理程序的回调中调用的函数中,要么将其添加到回调本身(就像我在下面所做的那样),然后使用 template literal 将变量嵌入到字符串。

    $("#fieldsubmit").click(function(){
      const query = $("#query").val();
      const endpoint = 'https://api.unsplash.com/search/photos';
      const page = 1;
      $.getJSON(`${endpoint}?page=${page}&query=${query}&client_id=${client_id}`, function(data) {
        // ...
       });
    });
    

    【讨论】:

      猜你喜欢
      • 2013-07-27
      • 2018-11-07
      • 2022-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多