4

我完全是个菜鸟,正在尝试使用 Ajax 和 Jquery。通过网上的教程,我成功地做了一个使用MySQL作为后端数据库的搜索引擎;

<script>
$(function() {
$(".search_butn").click(function() {
    // getting the value that user typed
    var searchString    = $("#input_box").val();
    // forming the queryString
    var data            = 'search='+ searchString;
    // if searchString is not empty
    if(searchString) {
        // ajax call
        $.ajax({
            type: "POST",
            url: "search.php",     //server-side script to db (mysql)
            data: data,
            beforeSend: function(html) { // this happens before actual call
                $("#results").html('');
                $("#searchresults").show();
                $(".word").html(searchString);
           },
           success: function(html){ // this happens after we get results
                $("#results").show();
                $("#results").append(html);
          }
        });
    }
    return false;
 });
});
 </script>

<form method="post" action="search.php">
<div id="DIV">
    <input type="text" name="search" id="input_box" class='input_box'/>
    <input type="submit" value="Search" class="search_butn" />
</div>
</form><br/>

<div>
 <div id="searchresults"> </div>
 <ul id="results" class="update">
 </ul>
</div>

现在我想更进一步,通过使用像 Solr 这样的 RESTful api 进行搜索,http://localhost:9090/solr/select?q=employee%3A%28james+blunt%29&wt=json&indent=true 我需要有人告诉我如何去做这件事。

4

1 回答 1

1

要创建 RESTful API,您可以编写一些 PHP 代码来截断请求的 url。你应该让 Apache——我想你的网络服务器——将所有带有特定前缀的 URL 重定向到这个 PHP 脚本。

因此,假设用户请求http://www.somename.com/my_api/some/shiny?suffix,您希望 Apache 将此 URL 重定向到脚本my_api.php,这样就my_api.php可以截断整个 URL 并根据它做一些事情。对于 Apache 这样做,请阅读 apache mod_rewrite:http ://httpd.apache.org/docs/current/mod/mod_rewrite.html

对于 RESTful API 的更详细处理,我可以推荐这个教程:http ://www.restapitutorial.com/

于 2013-05-12T17:14:28.613 回答