如何发请求?
用 form 可以发请求,但是会刷新页面或新开页面
用 a 可以发 get 请求,但是也会刷新页面或新开页面
用 img 可以发 get 请求,但是只能以图片的形式展示
用 link 可以发 get 请求,但是只能以 CSS、favicon 的形式展示(必须放到head里。)
用 script 可以发 get 请求,但是只能以脚本的形式运行(必须document.body.appendChild(script))
有没有什么方式可以实现
- get、post、put、delete 请求都行
- 想以什么形式展示就以什么形式展示
AJAX
含义:异步的 JavaScript 和 XML.
- 使用 XMLHttpRequest 发请求
- 服务器返回 XML 格式的字符串
- JS 解析 XML,并更新局部页面
用使用 XMLHttpRequest 发请求,一定要会自己写!
![v2-0c2d63f2fba216e880796480c9cab8a4_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=caafa597-1830-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-0c2d63f2fba216e880796480c9cab8a4_b.jpg)
几种状态:
![v2-f30ad085087c0fa7004ebbf68989b62f_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=caafa597-1830-eb11-8da9-e4434bdf6706&url=https://pic4.zhimg.com/v2-f30ad085087c0fa7004ebbf68989b62f_b.jpg)
记住状态:4,是4,那这个请求就完成了。
JSON和JS的区别
JSON是一门抄袭JS的语言。
![v2-cb337b6f2efaf964d842d2aa6e93b489_b.jpg](http://img-02.proxy.5ce.com/view/image?&type=2&guid=caafa597-1830-eb11-8da9-e4434bdf6706&url=https://pic2.zhimg.com/v2-cb337b6f2efaf964d842d2aa6e93b489_b.jpg)
1、JSON没有抄袭function和undefined.
2、字符串必须是“”(双引号)
整个过程如下:
![v2-ebf6d62d0578c8cfbffce0ca3ce4b50b_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=caafa597-1830-eb11-8da9-e4434bdf6706&url=https://pic4.zhimg.com/v2-ebf6d62d0578c8cfbffce0ca3ce4b50b_b.jpg)
相同的协议+端口+域名才能AJAX请求,为什么不一样的域名就不能发送AJAX请求了呢?
![v2-b1b93cd36da0e132f384a45164b0cedc_b.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=caafa597-1830-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-b1b93cd36da0e132f384a45164b0cedc_b.jpg)
那如果两个域名不同的网站该如何进行AJAX请求呢?这时候需要:
![v2-b2c6fe8faa001e747ea642f166442cf8_b.png](http://img-02.proxy.5ce.com/view/image?&type=2&guid=caafa597-1830-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-b2c6fe8faa001e747ea642f166442cf8_b.png)
在后端代码中加入:
![v2-5c5aadb437369170cecb861d66fbd240_b.png](http://img-02.proxy.5ce.com/view/image?&type=2&guid=caafa597-1830-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-5c5aadb437369170cecb861d66fbd240_b.png)
这个代码的意思是http://frank.com是我的朋友,请不要阻止他的访问。