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

30 lines
1.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

### jsonp ajax
ajax跨域访问是一个老问题了解决方法很多比较常用的是JSONP方法JSONP方法是一种非官方方法而且这种方法只支持GET方式不如POST方式安全。
意思是说如果后台返回的数据类型是jsonp那么前端的请求方式只能是get不能是post。
如果跨域使用POST方式可以使用创建一个隐藏的iframe来实现与ajax上传图片原理一样但这样会比较麻烦。
因此,在**前端使用post方法数据类型是json**的情况下如果想跨域的话可以通过设置Access-Control-Allow-Origin来实现跨域访问比较简单。
解决办法:
在 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/)