使用没有代理,JSONP或CORS的AJAX

时间:2016-02-01 16:38:55

标签: javascript ajax api cors

这个脚本在这里 - > https://github.com/shutterstock/api/blob/master/examples/javascript-jquery/v2.html完全是前端,与ShutterStock api通信。据我所知,它没有使用代理服务器,也没有JSONP也没有CORS(因为响应头中的 Access-Control-Allow-Origin 请求标头中的 Origin 为空)。那怎么可能呢?

2 个答案:

答案 0 :(得分:0)

  

来自响应头的Access-Control-Allow-Origin和来自请求头的Origin都是null

正在使用CORS。

浏览器说原点是null(表示您正在从file:方案URI而不是HTTP URI加载HTML文档)并且服务器说明null来源是可以接受并允许访问数据。

答案 1 :(得分:0)

API服务器将Access-Control-Allow-Origin标头设置为与请求标头相同的源。

命令:curl 'https://api.shutterstock.com/v2/images/search' -H 'Origin: http://example.com' --compressed -v

输出(修剪):

...
> GET /v2/images/search HTTP/1.1
...
> Host: api.shutterstock.com
> Origin: http://example.com
> 
< HTTP/1.1 401 Unauthorized
< Access-Control-Allow-Origin: http://example.com
...