jsonp 有什么限制?

阅读 5.8k
4 个回答

jsonp 就仅仅相当与在 HTML 标签了动态创建了一个 script标签src="URL/path/to/data.js",所以说jsonp 的数据可以是任意的格式,但是,要想让你已经写好的代码读取到这一段数据,使用的方式就是先定义好一个函数,jsonp 返回的是这个函数调用,然后参数就是返回的数据。
当然,如果你足够聪明,能想出其他的方式也可以。
所以说jsonp仅仅可以发送get请求,不能发送post请求,其实jsonp的存在仅仅是为了解决跨域请求。
获取这段代码,跨域的话前端没有什么好的方法。

百度返回的不是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获取,否则这个只能在后台获取然后前端调用

是的 你说的没错 jsonp就是通过迫使浏览器执行一段js代码来完成数据交互的。这段js代码一般是触发一个函数。如果返回的是json数据,则无法执行,并且会报错。

jsonp 和 json数据 完全是两码事呀。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题