簡體   English   中英

將 Jquery 轉換為 javascript(AJAX)

[英]Convert Jquery to javascript(AJAX)

我怎樣才能得到相同的結果,而不是 jquery 使用香草 javascript;

使用 ajax 和 jquery 我設法將值從輸入發送到節點 js。

**/script/main.js**
 
///Search ajax call
let searchResults = document.getElementById('search_in_platform_functionality');
  if(searchResults){
     searchResults.addEventListener('keyup',(dataSearch)=>{

     let searchValue = dataSearch.target.value.trim();
      searchRes(searchValue);
   })
}

function searchRes(searchTerm){
    $.get(url,{search:searchTerm},(results)=>{
     console.log(results)
  });
}

/controller.js

 router.get("/", async (req, res)=>{
    var searchObject = req.query;
    console.log(searchObject)
    if(req.query.search !== undefined){
        searchObject = {
           $or:[
             {firstName:{$regex: req.query.search,$options:"i"}},
             {lastName:{$regex: req.query.search,$options:"i"}},
             {username:{$regex: req.query.search,$options:"i"}}
           ]
       }
    }
    await  User.find(searchObject).then(results =>{
      res.status(200).send(results);
  }).catch(error =>{
     console.log(error);
     res.sendStatus(400);

  })
});

在此處輸入圖像描述

如何在節點服務器中獲得相同的結果排序參數,但使用 javascript 焦點 vanilla 沒有 jquery。

let search = new XMLHttpRequest();
search.open('GET', url,{search:searchTerm},(results)=>{
        console.log(results)
});
search.send();

我嘗試了類似的方法,但它不起作用。

這是我對Fetch API的看法,

fetch(`url?search=${searchTerm}`).then(response => response.json()).then(results => {
    console.log(results);
}).catch(e => console.log(e));

您正在發送一個GET方法,因此您需要在 URL 查詢字符串中傳遞參數

.then回調在Promise完成時運行。 您可以擁有任意數量的.then()回調,但前兩個對於您訪問返回數據是必需的。 MDN Promise.prototype.then()

然后在第一個回調中傳遞 fetch 的主體,然后使用其方法將結果轉換為 object 或數組或文本,您可以在代碼中使用 .json( .json().text().formData().blob().arrayBuffer()在這里閱讀更多

最后一個.then回調是傳遞結果供您操作它的地方。

您可以傳遞.catch回調,以防出現錯誤並且需要記錄它。 MDN Promise.prototype.catch

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM