⛳学习jQuery—今日碎片化知识点总结:⛳
**13.发送ajax请求:**
$.ajax({
url:"服务器端接口地址",
type:"get或post",
data:{ 参数名: 参数值, ... },
dataType:"json",
success:function(result){
//result就是服务器端返回的结果
//不用自己调JSON.parse()
}
})
**14.跨域:**
(1). 同源策略(CORS): 浏览器只允许当前网页中的ajax请求使用自己网站的资源,禁止ajax请求使用其他网站的资源。
(2). 解决: cors方式:只靠服务器端就能完成:
res.writeHead(200,{
... ...
"Access-Control-Allow-Origin": "http://客户端网页所在网址"
})
(3). 结果: 服务器端将响应结果中的寄件人地址伪装成和客户端网页所在地址一致,就可骗过浏览器cors策略的检查,让ajax顺利使用其他网站服务器端返回的结果数据了。
(4). 问题: 服务器端必须知道客户端网站的域名或ip地址,受局限。
(5). 解决: JSONP方式,服务器端无需知道任何客户端的IP或域名,没有局限。
a. 客户端提前定义处理数据的函数: function 函数名(形参){ ... }
b. 客户端不要用ajax或xhr发送请求,改为用<script src="接口地址">发送请求
c. 服务器端将要返回的数据,拼接进一条字符串格式的js函数调用语句中,然后返回整条包含数据的函数调用语句。函数名与客户端提前定义的处理函数名保持一致
d. 结果: <script>收到服务器端返回的函数调用语句后,立刻执行,自动调用第一步已经定义好的处理函数并将拼接在函数调用语句中的数据,传给处理函数的形参变量。