Jquery跨域获得Json时invalid label错误的解决办法


Posted in Javascript onJanuary 11, 2011

最后,仔细安静下来,细读 json 官方文档后发现这么一段:

JSON数据是一种能很方便通过JavaScript解析的结构化数据。如果获取的数据文件存放在远程服务器上(域名不同,也就是跨域获取数据),则需要使用jsonp类型。使用这种类型的话,会创建一个查询字符串参数 callback=? ,这个参数会加在请求的URL后面。服务器端应当在JSON数据前加上回调函数名,以便完成一个有效的JSONP请求。如果要指定回调函数的参数名来取代默认的callback,可以通过设置$.ajax()的jsonp参数。

其实jquery跨域的原理是通过外链 <script> 来实现的,然后在通过回调函数加上回调函数的参数来实现真正的跨域

Jquery 在每次跨域发送请求时都会有callback这个参数,其实这个参数的值就是回调函数名称,所以,服务器端在发送json数据时,应该把这个参数放到前面,这个参数的值往往是随机生成的,如:jsonp1294734708682,同时也可以通过 $.ajax 方法设置 callback 方法的名称。明白了原理后,服务器端应该这样发送数据:

string message = "jsonp1294734708682({\"userid\":0,\"username\":\"null\"})";

这样,json 数据 {\"userid\":0,\"username\":\"null\"} 就作为了 jsonp1294734708682 回调函数的一个参数

跨域获得Json时invalid label的解决办法:

服务器端在输出 Json 数据时,前面加上 callback 参数的值,如:jsonp1294734708682({\"userid\":0,\"username\":\"null\"})

Javascript 相关文章推荐
JavaScript实现禁止后退的方法
Dec 27 Javascript
关于文本限制字数的js代码
Apr 02 Javascript
JavaScript DOM学习第一章 W3C DOM简介
Feb 19 Javascript
EXTjs4.0的store的findRecord的BUG演示代码
Jun 08 Javascript
用iframe实现不刷新整个页面上传图片的实例
Nov 18 Javascript
Json按某个键的值进行排序
Dec 22 Javascript
jQuery实现花式轮播之圣诞节礼物传送效果
Dec 25 Javascript
ES6新特性:使用export和import实现模块化详解
Jul 31 Javascript
vue中父子组件注意事项,传值及slot应用技巧
May 09 Javascript
Vue中使用clipboard实现复制功能
Sep 05 Javascript
vue router带参数页面刷新或回退参数消失的解决方法
Feb 27 Javascript
帮你提高开发效率的JavaScript20个技巧
Jun 18 Javascript
JS无限树状列表实现代码
Jan 11 #Javascript
jQuery UI的Dialog无法提交问题的解决方法
Jan 11 #Javascript
JQuery 1.3.2以上版本中出现pareseerror错误的解决方法
Jan 11 #Javascript
Jquery中获取iframe的代码
Jan 11 #Javascript
基于jQuery的message插件实现右下角弹出消息框
Jan 11 #Javascript
基于jquery的cookie的用法
Jan 10 #Javascript
基于jquery的高性能td和input切换并可修改内容实现代码
Jan 09 #Javascript
You might like
PHP ajax 分页类代码
2008/11/13 PHP
php限制ip地址范围的方法
2015/03/31 PHP
Zend Framework教程之Resource Autoloading用法实例
2016/03/08 PHP
AES加解密在php接口请求过程中的应用示例
2016/10/26 PHP
2007/12/23更新创意无限,简单实用(javascript log)
2007/12/24 Javascript
HTML颜色选择器实现代码
2010/11/23 Javascript
javascript 事件处理示例分享
2014/12/31 Javascript
jQuery使用empty()方法删除元素及其所有子元素的方法
2015/03/26 Javascript
javascript常用函数(1)
2015/11/04 Javascript
实例剖析AngularJS框架中数据的双向绑定运用
2016/03/04 Javascript
利用css+原生js制作简单的钟表
2020/04/07 Javascript
js每隔两秒输出数组中的一项(实例)
2017/05/28 Javascript
详解vuejs几种不同组件(页面)间传值的方式
2017/06/01 Javascript
Vue组件化开发思考
2018/02/02 Javascript
详解Vue2.0配置mint-ui踩过的那些坑
2018/04/23 Javascript
Vuerouter的beforeEach与afterEach钩子函数的区别
2018/12/26 Javascript
怎么使用javascript深度拷贝一个数组
2019/06/06 Javascript
微信小程序实现圆形进度条动画
2020/11/18 Javascript
vue-cli3 取消eslint校验代码的解决办法
2020/01/16 Javascript
js实现翻牌小游戏
2020/07/31 Javascript
Python网络编程之TCP套接字简单用法示例
2018/04/09 Python
对pandas中Series的map函数详解
2018/07/25 Python
python批量修改文件夹及其子文件夹下的文件内容
2019/03/15 Python
pyqt5对用qt designer设计的窗体实现弹出子窗口的示例
2019/06/19 Python
python 消除 futureWarning问题的解决
2019/12/25 Python
Python数据相关系数矩阵和热力图轻松实现教程
2020/06/16 Python
matplotlib 画动态图以及plt.ion()和plt.ioff()的使用详解
2021/01/05 Python
纯css3实现图片翻牌特效
2015/03/10 HTML / CSS
德国苹果商店:MacTrade
2020/05/18 全球购物
体育活动总结范文
2014/05/04 职场文书
2015年社会实践个人总结
2015/03/06 职场文书
2015年春训学习心得体会范文
2015/03/09 职场文书
奥巴马开学演讲观后感
2015/06/12 职场文书
php引用传递
2021/04/01 PHP
mysql 8.0.24 安装配置方法图文教程
2021/05/12 MySQL
python字符串的多行输出的实例详解
2021/06/08 Python