gpt4 book ai didi

jquery - 如何使用 mongoosastic + AJAX 进行即时搜索?

转载 作者:搜寻专家 更新时间:2023-10-31 22:47:54 24 4
gpt4 key购买 nike

我已经成功配置了 mongoosastic,我尝试搜索并且工作正常,但是当涉及到前端时,我不太确定如何实现这一点,我尝试了很多方法但无法实现想出一个好的解决方案。

这是代码。

// For the Search API
router.post('/api/search/', function(req, res, next) {
Job.search(
{
query_string:
{ query: req.body.search }
} , function(err, results) {
if (err) return next(err);
res.json(results);
});
});

所以每当我搜索与“工程师”相关的内容时,我都会得到一个 json 数据

enter image description here

所以后端工作得很好。

然而,当涉及到 jquery 和 ajax 时,我不断收到错误的请求

逻辑:无论什么时候插入东西,然后发布它并找到那个结果。

这是前端 jquery 代码。

  $('#search').keyup(function() {

var search_term = $(this).val();


$.ajax({
type: "POST",
url: "/api/search",
success: function(){
$('search_results').html(search_term);
},
error: function(data){
alert('Error', data);
}
});

});

HTML

<input type="text" class="form-control input-lg" id="search" name="search" placeholder="Search for part-time..." />



<div id="search_results">


</div>

如何将 json 结果插入 search_results

最佳答案

你需要做的是

  1. 在每次击键时,获取输入值
  2. 通过 Ajax 将其发送到您的后端
  3. 使用成功后返回的 JSON(这里我们只在 div 中显示“title: salary”)

所以你的前端代码应该是这样的:

$('#search').keyup(function() {

// 1. grab the search term from the input field
var search_term = $(this).val();

// 2. send it to your back-end via ajax in the body
$.ajax({
method: "POST",
url: "/api/search", // <-- your back-end endpoint
data: "search=" + search_term // <-- what you're sending
dataType: "json", // <-- what you're expecting back
success: function(json){ // <-- do something with the JSON you get
// 3. parse the JSON and display the results
var res = json.hits.hits.map(function(hit) {
return hit._source.title + ": " + hit._source.salary;
});
$('search_results').html(res.join("<br />"));
},
error: function(data){
alert('Error', data);
}
});
});

关于jquery - 如何使用 mongoosastic + AJAX 进行即时搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33913617/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com