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 相关文章推荐
GWT中复制到剪贴板 js+flash实现复制 兼容性比较好
Mar 07 Javascript
jQuery ready函数滥用分析
Feb 16 Javascript
基于Jquery+Ajax+Json的高效分页实现代码
Oct 29 Javascript
js数组去重的hash方法
Dec 22 Javascript
node.js多个异步过程中判断执行是否完成的解决方案
Dec 10 Javascript
Mac下安装vue
Apr 11 Javascript
详解各版本React路由的跳转的方法
May 10 Javascript
详解JavaScript中的数组合并方法和对象合并方法
May 11 Javascript
浅谈JavaScript面向对象--继承
Mar 20 Javascript
vue解决花括号数据绑定不成功的问题
Oct 30 Javascript
Vue 3.0 全家桶抢先体验
Apr 28 Javascript
vue组件冲突之引用另一个组件出现组件不显示的问题
Apr 13 Vue.js
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中如何防止表单的重复提交
2013/08/02 PHP
IIS6.0中配置php服务全过程解析
2013/08/07 PHP
PHP MYSQL实现登陆和模糊查询两大功能
2016/02/05 PHP
PHP autoload使用方法及步骤详解
2020/09/05 PHP
简单实例处理url特殊符号&amp;处理(2种方法)
2013/04/02 Javascript
Extjs4 GridPanel的主要配置参数详细介绍
2013/04/18 Javascript
jquery 扑捉回车键事件代码
2014/04/24 Javascript
jQuery多媒体插件jQuery Media Plugin使用详解
2014/12/19 Javascript
EasyUI实现二级页面的内容勾选的方法
2015/03/01 Javascript
JavaScript中使用指数方法Math.exp()的简介
2015/06/15 Javascript
数据分析软件之FineReport教程:[5]参数界面JS(全)
2015/08/13 Javascript
浅谈js的异步执行
2016/10/18 Javascript
Bootstrap CSS组件之下拉菜单(dropdown)
2016/12/17 Javascript
js实现选项卡内容切换以及折叠和展开效果【推荐】
2017/01/08 Javascript
使用jQuery实现鼠标点击左右按钮滑动切换
2017/08/04 jQuery
Angular使用Restful的增删改
2018/12/28 Javascript
Vue渲染过程浅析
2019/03/14 Javascript
浅析Vue 防抖与节流的使用
2019/11/14 Javascript
判断JavaScript中的两个变量是否相等的操作符
2019/12/21 Javascript
[01:00] DOTA2英雄背景故事第五期之重力引力法则谜团
2020/07/16 DOTA
Python中subprocess的简单使用示例
2015/07/28 Python
Python使用文件锁实现进程间同步功能【基于fcntl模块】
2017/10/16 Python
TensorFlow的权值更新方法
2018/06/14 Python
浅谈Pycharm中的Python Console与Terminal
2019/01/17 Python
Python实现二叉树的最小深度的两种方法
2019/09/30 Python
pytorch GAN生成对抗网络实例
2020/01/10 Python
python统计字符的个数代码实例
2020/02/07 Python
python在linux环境下安装skimage的示例代码
2020/10/14 Python
CSS3使用多列制作瀑布流
2016/05/10 HTML / CSS
SEPHORA新西兰官方网站:购买化妆品和护肤品
2016/12/02 全球购物
美国购买新书和二手书网站:Better World Books
2018/10/31 全球购物
巴西最大的巴士票务门户:Quero Passagem
2020/11/21 全球购物
毕业生幼师求职自荐信
2013/10/01 职场文书
艺术学院毕业生自我评价
2014/03/02 职场文书
学习习近平主席讲话心得体会
2016/01/20 职场文书
Python sklearn分类决策树方法详解
2022/09/23 Python