javascript - jsonp 有什么限制?
PHPz
PHPz 2017-04-10 15:55:11
[JavaScript讨论组]

jsonp 有什么限制 一定要jsonp吗 是不是一定得可执行的js 不能json?
如果 我要获取
http://apistore.baidu.com/microservice/cityinfo?cityname=%E5%8C%97%E4%BA%AC
像这样的json数据 只能通过后台吗

PHPz
PHPz

学习是最好的投资!

全部回复(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获取,否则这个只能在后台获取然后前端调用

PHPz

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

大家讲道理

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号