jQuery getJSON 跨域实现机制详解是怎样的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计561个文字,预计阅读时间需要3分钟。
近期我在开发一个工具,其中有一个功能是获取当前页面的短网址。这个想法很好,可能在需要快速分享页面链接时很有用,尤其是在需要跨域操作的时候。最初我的想法就是实现跨域的最简单方法。
前几天我在开发一个工具的时候,其中有个功能就是获取本页面的短网址。
这个想法是好的,可是在我付诸于行动的时候,发现这个需要跨域。
起初我的想法就是,跨域的最简单的方法就是增加一个script标签,因为script标签是允许跨域的。
但是问题又来了,对方的API返回的是个json对象,用script标签只能执行,却不能获取到里面的东西,也就是说返回的东西是不可控的。
随后我就想到了jQuery中的getJSON的方法,学习了一下,没想到里面的文章这么大。
jQuery非常聪明,他也意识到只靠script请求是无法接受到返回的东西的,所以他就设计了一个全局的callback函数,发送请求的时候把这个callback函数也传进去。
服务器判断是否有这个callback函数,如果没有就返回一个对象,如果有就返回一个函数名(对象)。
本文共计561个文字,预计阅读时间需要3分钟。
近期我在开发一个工具,其中有一个功能是获取当前页面的短网址。这个想法很好,可能在需要快速分享页面链接时很有用,尤其是在需要跨域操作的时候。最初我的想法就是实现跨域的最简单方法。
前几天我在开发一个工具的时候,其中有个功能就是获取本页面的短网址。
这个想法是好的,可是在我付诸于行动的时候,发现这个需要跨域。
起初我的想法就是,跨域的最简单的方法就是增加一个script标签,因为script标签是允许跨域的。
但是问题又来了,对方的API返回的是个json对象,用script标签只能执行,却不能获取到里面的东西,也就是说返回的东西是不可控的。
随后我就想到了jQuery中的getJSON的方法,学习了一下,没想到里面的文章这么大。
jQuery非常聪明,他也意识到只靠script请求是无法接受到返回的东西的,所以他就设计了一个全局的callback函数,发送请求的时候把这个callback函数也传进去。
服务器判断是否有这个callback函数,如果没有就返回一个对象,如果有就返回一个函数名(对象)。

