关于jsonp的原理

我们知道Ajax出于安全考虑不允许在js代码里发起跨域请求,但是我们发现可以通过src属性发起远程请求:

script标签中的src属性一般用来引入别的js文件中的js代码,但是也可以发起远程请求,请求的也是js代码。

上图中可以看到src请求的地址是 http://localhost:8080/hello,写一个接口:

这个接口返回值是 "f()",上上图中定义了一个名为 f 的函数,返回的字符串"f()"作为js代码,调用了 f 函数,输出为:

再来个有参数的函数调用:

你可能感兴趣的:(关于jsonp的原理)