Web/16-前端综合/ajax相关.md

30 lines
1.0 KiB
Markdown
Raw Normal View History

### jsonp ajax
ajax跨域访问是一个老问题了解决方法很多比较常用的是JSONP方法JSONP方法是一种非官方方法而且这种方法只支持GET方式不如POST方式安全。
意思是说如果后台返回的数据类型是jsonp那么前端的请求方式只能是get不能是post。
如果跨域使用POST方式可以使用创建一个隐藏的iframe来实现与ajax上传图片原理一样但这样会比较麻烦。
因此,在**前端使用post方法数据类型是json**的情况下如果想跨域的话可以通过设置Access-Control-Allow-Origin来实现跨域访问比较简单。
2021-09-18 19:14:07 +08:00
解决办法:
在 Response header中加入这三行
```
response.headers['Access-Control-Allow-Origin'] = '*'
response.headers['Access-Control-Allow-Methods'] = 'POST'
response.headers['Access-Control-Allow-Headers'] = 'x-requested-with,content-type'
```
参考链接:
- [ajax 设置Access-Control-Allow-Origin实现跨域访问](https://blog.csdn.net/fdipzone/article/details/46390573/)