利用跨域写搜索(智能提示)

以淘宝为例

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			*{
				padding: 0;
				margin: 0;
			}
			a{
				text-decoration:none ;
				color: #000;
			}
			form{
				width: 400px;
				height: 32px;
				margin: 10px auto;
			}
			input{
				float: left;
				border: 0;
				outline: 0;
			}
			#txt{
				width: 346px;
				height: 30px;
				border: 1px solid #ccc;
				border-radius: 10px 0 0 10px;
			}
			#btn{
				background: orange;
				width: 50px;
				height: 32px;
				color: #fff;
				border-radius: 0 12px 12px 0;
			}
			#list{
				width: 400px;
				margin: 0px auto;
				list-style:none ;
				border: 1px solid #ccc;
				display: none;
			}
		</style>
	</head>
	<body>
		<form>
			<input type="text" id="txt" placeholder="请输入关键字"/>
			<input type="button" name="btn" id="btn" value="搜索" />
		</form>
		<ul id="list"></ul>
		
		<script type="text/javascript">
			var oTxt = document.getElementById("txt");
			var oList = document.getElementById("list");
			oTxt.oninput = function() {
				oList.style.display="block";
				var oScript = document.createElement("script");
				oScript.src = "https://suggest.taobao.com/sug?code=utf-8&q=" + oTxt.value + "&callback=data&area=c2c";
				document.body.appendChild(oScript);
			}
			
			function data(data){
				//console.log(data);
				var data1 = data.result;
				var str="";
				data1.forEach((item)=>{
					str += "<li><a href='https:/s.taobao.com/search?q="+item[0]+"'>"+item[0]+"</a></li>";
				});
				oList.innerHTML = str;
				
			}
		</script>
	</body>

</html>
前端下载文件时,由于浏览器的同源策略限制,可能会出现跨域问题导致下载失败或提示跨域错误。 为了解决这个问题,我们可以采用以下几种方式: 1. 使用CORS(跨域资源共享):CORS是一种现代浏览器支持的跨域解决方案。通过在服务器端设置相关的响应头,如Access-Control-Allow-Origin,允许特定域名的请求访问资源。这样前端就可以正常下载文件了。 2. JSONP(仅限于GET请求):JSONP是一种通过动态创建<script>标签的方式来实现跨域请求的方法。但是JSONP只适用于GET请求,不适用于下载文件这种涉及到文件流的操作。 3. 代理服务器:可以使用代理服务器来解决跨域问题。在代理服务器上配置相应的规则,将前端请求转发到目标服务器,并将目标服务器的响应返回给前端。这种方式需要一些后端知识和配置。 4. 后端技术栈解决:根据具体的后端技术栈,例如使用Vue脚手架自带的方法或利用Nginx等服务器配置来解决跨域问题。这种方式需要根据具体的技术栈和项目需求来进行相应的配置和调整。 根据实际情况选择合适的解决方案可以帮助您成功解决前端下载文件提示跨域的问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Flask解决跨域的问题示例代码](https://download.csdn.net/download/weixin_38514660/13771451)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [前端解决跨域](https://blog.csdn.net/m0_63057114/article/details/124946235)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值