创建一个搜索表单以使用http api进行搜索

时间:2017-02-17 09:06:26

标签: http search

我是这个问题的新手。我正在尝试创建一个搜索表单,允许通过http api搜索数据库并在网站上显示结果。电话需要授权:

$headers = array ('headers' => array( 
                  'Authorization' =>       'bearer' . $token  ,
                  'Content-type'  =>       'application/json',
                  'Accept'        =>       'application/json'));

我的搜索表单如下:

<form method="GET" accept="application/json" action="https://example.xx/api/v1/products?page=1&size=5&direction=asc&search=value">
  <input type="text" name="search" size="40" maxlength="256" value="" placeholder="testsearch">
  <input type="submit" name="search_button" value="Search">
</form>

当我在输入字段中输入内容并点击提交按钮时,浏览器会显示:

{"error":"unauthorized","error_description":"Full authentication is required to access this resource"}

在浏览器地址字段中,我看到:

https://example.xx/api/v1/products?search=testvalue&search_button=Search

显然,授权被忽略,网址显示我已离开我的网站。

我是否必须使用动作=&#34; somephp.php&#34;? 如何从表单授权来电并在网站上显示回复? 提示非常感谢。西奥

1 个答案:

答案 0 :(得分:0)

感谢德语wordpress论坛,我找到了答案 - 表格:

<form method="post" id="api-result-searchform" action="">
    <input type="text" class="search" placeholder="<?php echo esc_attr_x( 'Author?', 'placeholder' ) ?>" value="" name="searchauthor" id="s" title="api-search" />
    <input class="button"type="submit" name="search_button" value="Search">
</form>

电话:

<?php
    $searchterm = $_POST['searchauthor'];
    $url = 'https://example.de/api/v1/product?search=ti=' . $searchterm;
    $response = wp_remote_get($url, $headers);
    //etc.

这很有效。