JSONP请求的限制主要有以下几点:
跨域请求限制:JSONP请求只能进行跨域请求,即请求的目标域名与当前页面的域名不同。这是由于JSONP请求是通过动态创建 <script>
标签来实现的,浏览器对于跨域 <script>
标签的加载是没有跨域限制的。
只支持GET请求:由于JSONP请求是通过 <script>
标签加载的,因此只支持GET请求,不支持POST等其他类型的请求。
安全性问题:由于JSONP请求是通过 <script>
标签加载的,因此存在一定的安全风险。例如,如果目标服务器返回的数据被恶意篡改,可能会导致安全问题。
服务器支持:JSONP请求需要目标服务器支持返回JSONP格式的数据,即在返回的数据中包含一个回调函数的调用。如果目标服务器不支持JSONP格式的数据,无法通过JSONP请求获取数据。