【问题标题】:Call external api via input field data通过输入字段数据调用外部api
【发布时间】:2019-10-01 21:04:54
【问题描述】:

假设“部件号”输入字段不在表单标签中。当用户输入值时,输入字段旁边的 onblur 或按钮应通过该站点的 API 查询外部站点,并返回“产品名称”值。

我有将使用 API 返回值的代码。但是如何构造输入字段以便调用 API 代码呢?

我认为我需要一个 AJAX 调用,但仍然是 Ajax 方面的菜鸟。将使用什么代码来处理输入字段中的字符串。 (请注意,没有与输入字段关联的表单标签。)(我主要使用 PHP。)

【问题讨论】:

  • 您可以将事件处理程序附加到按钮或使用 onclick 事件来调用函数,该函数将从 API 查询数据。您使用什么方法(ajax 等)来查询数据将取决于 API。我们可以获取 API 的详细信息,或者您可以添加 API 代码吗?
  • API 代码是 Amazon 的 API。该函数使用适当的参数执行 API 操作,代码获取所需的数据并返回我需要的信息数组。

标签: javascript php ajax


【解决方案1】:

为了回答这个问题和随后的 cmets,从概念上讲,它将按如下方式工作。

HTML 标记:

<input type="text" id="userInput"> <!--Text input of product id from user-->
<button id="btn">Get Product Name</button> <!--Button to invoke API request-->
<p id="productName"></p> <!--Element used to display product name result from API-->

Javascript:

//Attach an event listener to the button. 
document.getElementById("btn").addEventListener("click", function(){

    //Get the id of product the user entered
    var productId = document.getElementById("userInput").value;

    //pass productId to the Amazon API

    //receive product name from API

    //Display product name received
    document.getElementById("productName").innerHTML = //The product name received from API

});

【讨论】:

  • 谢谢。但是如果 productId 是 JS 变量,我如何将它传递给 PHP 函数?我认为也许 $productID = "";在执行 API 调用的 PHP 函数的开头??
  • @RickHellewell 最好将 PHP 分开。 Ajax 非常适合将 Javascript 变量传递给您的 PHP。使 Ajax 更适合的是它具有回调函数 successfailerror,您可以使用它们来处理从 API 返回的数据(在您的情况下是产品名称)。强烈推荐。希望对您有所帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-06-25
  • 1970-01-01
  • 1970-01-01
  • 2020-05-05
  • 2020-10-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多