js 实现百度搜索
使用 JavaScript 实现百度搜索功能
可以通过以下方法实现调用百度搜索的功能,包括直接跳转和动态生成搜索 URL。

直接跳转到百度搜索
通过 window.location 直接跳转到百度搜索页面,搜索关键词通过 URL 参数传递。

function searchBaidu(keyword) {
const encodedKeyword = encodeURIComponent(keyword);
window.location.href = `https://www.baidu.com/s?wd=${encodedKeyword}`;
}
// 调用示例
searchBaidu("JavaScript");
动态生成搜索表单并提交
如果需要通过表单提交的方式实现搜索,可以动态创建表单并提交。
function submitBaiduSearch(keyword) {
const form = document.createElement('form');
form.action = 'https://www.baidu.com/s';
form.method = 'get';
form.target = '_blank';
const input = document.createElement('input');
input.type = 'hidden';
input.name = 'wd';
input.value = keyword;
form.appendChild(input);
document.body.appendChild(form);
form.submit();
document.body.removeChild(form);
}
// 调用示例
submitBaiduSearch("JavaScript");
通过 Fetch API 获取搜索结果(需后端支持)
由于浏览器的同源策略限制,直接通过前端 JavaScript 获取百度搜索的 HTML 内容不可行。可以通过后端服务代理请求,再将结果返回给前端。
async function fetchBaiduResults(keyword) {
const response = await fetch(`/api/baidu-proxy?q=${encodeURIComponent(keyword)}`);
const data = await response.text();
console.log(data); // 处理返回的搜索结果
}
// 调用示例
fetchBaiduResults("JavaScript");
注意事项
- 直接跳转或表单提交会离开当前页面,确保用户操作预期。
- 动态生成表单适用于需要在新标签页打开搜索结果的场景。
- 如果需要解析搜索结果,需通过后端服务处理,避免跨域问题。






