浏览 7572 次
锁定老帖子 主题:原来jsonp这么实现啊
精华帖 (2) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
|
|
---|---|
作者 | 正文 |
发表时间:2011-09-30
function loginRequest(jsonp){ rnd = getRnd(); c_url = "http://reg.163.com/services/httpLoginExchgKey?rnd="+rnd; c_url += "&jsonp="+jsonp; fGetJson(c_url); } function getRnd(){ //var uid = $("idInput").value + "@163.com"; var timestamp = new Date().getTime(); //var rnd = base64encode(utf16to8(uid + "\n" + timestamp)); var rnd = base64encode(utf16to8("\n" + timestamp)); return rnd; } function fGetJson(url){ var oHead = document.getElementsByTagName("HEAD")[0] || document.documentElement; var sForJson = document.createElement("script"); oHead.insertBefore( sForJson, oHead.firstChild ); //sForJson.setAttribute("charset", "gb2312"); sForJson.setAttribute("type", "text/javascript"); sForJson.setAttribute("src", url); }
但是有个疑惑 jsonp 不能异步么? 难不成只能在IE上 jsonp 能实现异步么? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-09-30
jsonp本身不就是异步的吗?创建完script节点后,并不会立即下载完成。
不太懂你说的异步是什么意思 |
|
返回顶楼 | |
发表时间:2011-10-02
json只是一种数据交换格式,和异步同步有什么关系
|
|
返回顶楼 | |
发表时间:2011-10-04
jsonp就是在window下添加一个方法,主要是为了跨域访问。
比如叫jsonp1232434234,在后台返回数据的时候返回一段js代码。 叫jsonp1232334234(这里边放data)。 然后创建script标签,然后进行加载。执行这个方法,自然会跳到success方法里去。 方法是get。有所限制。 lz写的代码跟jsonp有啥关系? |
|
返回顶楼 | |
发表时间:2011-10-05
打开jquery源码,搜jsonp,就明白了
|
|
返回顶楼 | |
发表时间:2011-10-08
json不就是一种文件格式,跟同步异步有啥关系?
|
|
返回顶楼 | |
发表时间:2011-10-09
jsonp是格式化的 json么?
|
|
返回顶楼 | |
发表时间:2011-10-12
jsonp其实就是为了解决ajax不能跨域的一个padding或者说tricky而已
|
|
返回顶楼 | |
发表时间:2011-10-12
guilipan 写道 jsonp其实就是为了解决ajax不能跨域的一个padding或者说tricky而已
+1 |
|
返回顶楼 | |