2 ljiechang ljiechang 于 2014.12.11 12:15 提问

getJSON跨域问题。。。

$.getJSON("http://10.1.1.41:8080/Techyc/actionDemo?callback=?",function(data){});
跨域异步获取数据,为什么去掉?callback=?,就不行了??

4个回答

xp_15907659204
xp_15907659204   2014.12.11 12:25

跨域的话,你不注册个回调函数给服务器,服务器取到数据不知道往哪丢呢。

参考下这个网址的内容吧,下面有说这个方式的跨域原理:JSONP跨域的原理解析 -- 简明现代魔法
http://www.nowamagic.net/librarys/veda/detail/224/

Hjupan
Hjupan   2014.12.11 12:35

所谓的回调函数。数据回来之后,需要有个安身之处。而callback就是定义这个处所的。

ljiechang
ljiechang 把callback改为其他字符就不行了,而且问号是代表什么?
接近 3 年之前 回复
showbo
showbo   Ds   Rxr 2014.12.11 13:52

去掉callback就不是jsonp了,直接用ajax请求跨域页面当然会报错。

有callback=? jquery将会以script标签加载url,而不是用ajax,script不存在跨域的问题

testcs_dn
testcs_dn   Rxr 2014.12.12 22:59

跨域是通过Script标签实现的,没有callback就触发不了数据加载成功的事件了。

Csdn user default icon
上传中...
上传图片
插入图片