JSON:前后端交换数据的一种格式
* JSON字符串:往往都是在后端向前端发送数据时传输的格式。
* JSON对象:往往都是前端希望得到的。数据或对象或它们之间的嵌套。
JSON字符串与JSON对象之间的转换
* (JSON格式的字符串):正解析,将JSON字符串转换为JSON对象,没有副作用。
* (JSON对象):反解析,将JSON对象转换为JSON字符串,没有副作用。
同源组策略:Ajax请求地址与当前页面的地址必须得是同协议,同主机,同端口才可以正常发送Ajax请求,这三者有任何一个不一样,则判定此次请求是跨域请求,浏览器会阻止这个请求行为。
跨域解决方式
* CORS
* 服务器反向代理
* JSONP
JSONP:一种解决跨域问题的方法。工作机制:利用动态创建一个script标签并利用它的src属性向服务器发送一次HTTP请求,并提前声明好一个回调函数,回调函数的函数名利用callback请求参数传递给后端。后端接收到来自前端的请求后,获取callback请求的请求参数并拼接一个调用函数的JS代码段并将要返回给前端的数据以实参的形式存在。前端接收到来自后端的响应后,会将后端的返回内容当做JS代码来执行即调用一个函数,并用一个形参来接收后端向要传递过来的数据。
function jsonpcallback(data){
console.log(data[0])
}
query.onclick = function(){
let script = document.createElement('script');
script.setAttribute('src',"http://10.35.161.142/?callback=jsonpcallback&name="+queryname.value)
$("body").appendChild(script)
}