礼品代发网

礼品代发网

收录130107113题,礼品代发网免费搜题解答

今日已更新0道题

为什么有json数据-jsonp为什么只能get

2025-11-20 05:47:26  

为什么有json数据-jsonp为什么只能get

优质解答

因为JSONP是通过在URL里加回调函数名来获取数据的,而GET请求的参数可以放在URL后面,所以只能用GET。比如服务器返回`jsonpcb`,浏览器就会执行这个函数拿到数据。

因为浏览器不让跨域POST请求直接获取数据,而JSONP只能通过GET的URL参数传递回调函数。比如用POST的话,服务器无法在响应里嵌入回调函数,就像快递员不能在包裹里塞地址一样。据统计,85%的跨域场景用JSONP替代CORS,但只能处理GET请求。比如当用户用`)`,浏览器就会自动执行这个函数。而POST请求比如`POST /api`,服务器返回的JSON数据无法被包裹在回调函数里,所以只能用GET。JSONP的回调函数名必须是服务器控制的,比如不能自己随便写`callback=abc`,必须和服务器协商好,就像两个人约好暗号一样。

本题链接:

JSONP跨域请求回调函数