1. Ajax
1.1. 缺点
移动端下的白屏
1.2. SEO
- 蜘蛛只能抓取a标签中的href
- 蜘蛛不会执行JavaScript
- 蜘蛛只能抓到get请求的页面 不会抓到post请求的页面
SEO 现在解决方案已经很多了,所以基本不是什么问题,基本上就是检测如果当爬虫来的时候url会被改变,然后nginx给转到另外一个静态生成的页面那里去。所以不会太大问题吧
1.3. 跨域
JSONP 或者 CORS 实现,
1.4. 带Cookie的跨域Ajax请求
1.4.1. 客户端
$.ajax({
url : 'http://remote.domain.com/corsrequest',
data : data,
dataType: 'json',
type : 'POST',
xhrFields: {
withCredentials: true
},
crossDomain: true,
contentType: "application/json",
...
通过设置 withCredentials: true ,发送Ajax时,Request header中便会带上 Cookie 信息。
1.4.2. 服务端
app.use(cors({credentials: true}));
Access-Control-Allow-Credentials 设为 true