淘宝提示词案例| 学习笔记

简介: 快速学习淘宝提示词案例。

开发者学堂课程【Ajax 前端开发入门与实战淘宝提示词案例】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/595/detail/8546


淘宝提示词案例

 

目录:

一、课程回顾:跨域的实现

二、淘宝提示词案例

三、淘宝提示词接口

四、测试

五、创建 taobao_sug.html

六、跨域的实现技术方案

七、编写代码

 

一、课程回顾:跨域的实现

XMLHttpRequest. 对象默认情况下是无法获取到非同源服务器下的数据。

那么怎么获取别人服务器的数据呢?

使用 XMLHttpRequest 是达不到的,只能另辟蹊径。

可以通过 script 标签,用 script 标签的 src. 属性引入一个外部文件,这个外部文件是不涉及到同源策略的影响的。

例如:

Kscript type="text/javascript"

src="http://www.lisi.com/test.js"></script>

跨域的本质其实就是服务器返回一个方法调用,这个方法是事先定义好的,而方法中的参数就是想要的数据。

A、访问外部 s 文件

B、访问外部 php,文件

c、动态创建 script 标签传入动态参数

D、前端界面决定方法名称

E、给 window 增加属性进行方法定义

小案例:淘宝提示词接口、百度提示词接口

 

二、淘宝提示词案例

例子:在网页打开 taobao.com

在搜索的位置搜索  java 就会看到相关的提示关键字出现在输入框的下边

关键字是从淘宝服务器库中获取的

 

三、淘宝提示词接口

地址

https://suggest.taoba9.com/sug

作用描述

获取淘宝提示词接口

请求类型

Get 请求

参数

q∶ 关键字

callback: 回调方法名称

返回数据格式

Jsonp 格式

 

四、测试

复制 https://suggest.taoba9.com/sug到预览器当中

需要两个参数 q 关键字和 callback 回调方法

插入相关参数

https://suggest.taoba9.com/sug?q=java&callback=haha

会发现开头是 haha 后面是括号

括号当中就是想要的数据是一个对象

如果把 haha 变为 hehe 会发现回调的方法从 haha 变成了 hehe 改为任意一个字符串函数名称都会有一个对应的变化。

 

五、创建 taobao_sug.html

输入代码

<script type="text/javascript">

window.onload = function()i

var btn = document.querySelector( "#btn");btn.onclick = function()i

var keywordValue = document.querySelector( " #keword" ).value;

console. log(keywordvalue);

};

};</script>

</ head>

<body>

<input type="text" id="keyword" placeholder="请输入相关的关键字">

<input type="button" id="btn" value="查询">

保存打开预览器

输入 www.zhangsan.com 打开调试工具

搜索123会发现 Console 发现错误,表示访问了一个空对象

回到代码 var keywordValue = document.querySelector( " #keword").value;这一行,找到 keyword 发现少了一个 y 填写上去

看到相关错误日志一定要找到错误日志,把关注点放在那

发现没有保存还会出现错误,保存之后刷新网页

请求 https://suggest.taoba9.com/sug?q=java&callback=haha

接口位置会发现无法请求 ajaxacross

 

六、跨域的实现技术方案

创建标签

var script = document.createElement( "script");

script.src = "https://suggest.taobao.com/sug?q="+keywordValue+"&callback=xixi";T

var head = document.queryselector("head");head.appendChild();

请求

https://suggest.taobao.com/sug?q="+keywordValue+"&callback=xixi地址就是方法的一个回调

打开预览器搜索 java

在 Consoie 下发现相关的数据

v0bject iresult: Array[10]] 团 vresult: Array[10]

0: Array [2]

: "java从入门到精通”1:"6888""

length: 2

_proto__: Array [0]v1: Array[2]

e: "java编程思想"1: "2121"

length: 2

_proto_: Array [0]2:Array [2]

0: "javascript"1:"35061"

length: 2

__proto__: Array[0]3:Array[2]

e: "java公路车”1: "1486"

length: 2

__proto_: Array [0]v4: Array[2]

: "java核心技术"1:"4044""

length: 2

_proto_: Array[0]

var liTag = "";

for(var i=o;i<data.result.length;i++){

var temp = data.result[ i];

var tempSug = temp[0];

liTag ="<li>"+tempSug+"</li>";

}

var ulTag-document.querySelector(“ul"); IulTag.innerHTML = liTag;

 

七、编写代码

var script = document.createElement( "script" );

script.src = "https://suggest.taobao.com/sug?q="+keywordValue+

"&callback=hehe";

window[ "hehe"] = function(data){

var liTag = "";

for(var i-o;i<data.result.length;i++){

var temp = data.result[i];

var tempSug = temp[0];

liTag +="<li>"+tempSug+"</li>";}

var ulTag = document.querySelector();;

var head=

document.querySelector( "head");head.appendchild(script);

};};/script>

相关文章
|
存储 数据可视化 JavaScript
(低代码)可视化搭建平台数据源设计剖析
低代码平台属于APaaS(应用平台即服务),其解决的是企业内部应用协调和人效成本的问题. 随着计算机技术诸如云服务等的发展, 传统软件服务已无法满足数字化浪潮的压力,
1206 0
|
9月前
|
存储 缓存 安全
阿里云服务器计算型c7/c8y/c8i,通用型g7/g8y/g8i,内存型r7/r8y/r8i区别及选择参考
为了满足不同企业级用户的多样化需求,阿里云在当下的活动中推出了多款计算型、通用型和内存型的云服务器实例,包括计算型c7/c8y/c8i、通用型g7/g8y/g8i以及内存型r7/r8y/r8i等。这些实例各具特色,适用于不同的应用场景和业务需求。本文将为您详细解析这些实例的区别,以及选择参考,帮助您根据自己的需求选择合适的阿里云服务器实例。
|
机器学习/深度学习 物联网 C#
一文带你了解.NET能做什么?
.NET是一个开源(MIT License)、免费、跨平台的开发平台框架,用于生成多种类型的应用程序。.NET 可以运行使用多种语言(C#、Visual Basic、F#)编写的程序,其中C#是最常用的语言。
195 7
|
开发框架 安全 Java
Spring Framework远程代码执行漏洞复现(CVE-2022-22965)
Spring Framework存在远程代码执行漏洞,攻击者可通过该漏洞执行系统命令。
1165 1
Spring Framework远程代码执行漏洞复现(CVE-2022-22965)
|
网络协议
第二轮学习笔记: 扫描工具 -- nmap端口扫描
第二轮学习笔记: 扫描工具 -- nmap端口扫描
219 0
|
传感器 机器学习/深度学习 监控
智能驾驶如何加强安全保障
智能驾驶如何加强安全保障
211 0
|
缓存 NoSQL Java
基于注解实现缓存的框架 -- SpringCache
Spring Cache是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能,大大简化我们在业务中操作缓存的代码。
基于注解实现缓存的框架 -- SpringCache
|
机器学习/深度学习 人工智能 自然语言处理
数据上云,AI驱动,宝宝树如何服务千万年轻妈妈
本文讲述了宝宝树通过阿里云大数据平台构建了个性化的大数据架构,并在此基础上使用AI和深度学习技术实现了一些业务工具,进而支撑业务展开,实现业务价值。
2960 0
数据上云,AI驱动,宝宝树如何服务千万年轻妈妈
|
IDE 开发工具 C语言
QT案例IDE编写 -- 代码编写
QT案例IDE编写 -- 代码编写
188 0
QT案例IDE编写 -- 代码编写