jsonp 有什么限制 一定要jsonp吗 是不是一定得可执行的js 不能json?
如果 我要获取
http://apistore.baidu.com/microservice/cityinfo?cityname=%E5%8C%97%E4%BA%AC
像这样的json数据 只能通过后台吗
jsonp 有什么限制 一定要jsonp吗 是不是一定得可执行的js 不能json?
如果 我要获取
http://apistore.baidu.com/microservice/cityinfo?cityname=%E5%8C%97%E4%BA%AC
像这样的json数据 只能通过后台吗
百度返回的不是jsonp,jsonp应该是callback({"errNum":0,"retMsg":"success","retData":{"cityName":"\u5317\u4eac","provinceName":"\u5317\u4eac","cityCode":"101010100","zipCode":"100000","telAreaCode":"010"}})
如果百度开放了Access-Control-Allow-Origin:*
可以通过Ajax获取,否则这个只能在后台获取然后前端调用
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
3 回答856 阅读✓ 已解决
3 回答1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
jsonp
就仅仅相当与在 HTML 标签了动态创建了一个script
标签src="URL/path/to/data.js"
,所以说jsonp
的数据可以是任意的格式,但是,要想让你已经写好的代码读取到这一段数据,使用的方式就是先定义好一个函数,jsonp 返回的是这个函数调用,然后参数就是返回的数据。当然,如果你足够聪明,能想出其他的方式也可以。
所以说
jsonp
仅仅可以发送get
请求,不能发送post
请求,其实jsonp
的存在仅仅是为了解决跨域请求。获取这段代码,跨域的话前端没有什么好的方法。