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 相关文章推荐
js的压缩及jquery压缩探讨(提高页面加载性能/保护劳动成果)
Jan 29 Javascript
JQueryEasyUI datagrid框架的进阶使用
Apr 08 Javascript
PageSwitch插件实现100种不同图片切换效果
Jul 28 Javascript
jquery easyui datagrid实现增加,修改,删除方法总结
May 25 Javascript
Bootstrap基本组件学习笔记之input输入框组(9)
Dec 07 Javascript
AngularJs中Bootstrap3 datetimepicker使用实例
Dec 13 Javascript
详解VUE2.X过滤器的使用方法
Jan 11 Javascript
vuejs router history 配置到iis的方法
Sep 20 Javascript
mpvue项目中使用第三方UI组件库的方法
Sep 30 Javascript
详解解决小程序中webview页面多层history返回问题
Aug 20 Javascript
JavaScript函数重载操作实例浅析
May 02 Javascript
vue flex 布局实现div均分自动换行的示例代码
Aug 05 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
phpwind中的数据库操作类
2007/01/02 PHP
PHP伪造referer实例代码
2008/09/20 PHP
PhpMyAdmin出现export.php Missing parameter: what /export_type错误解决方法
2012/08/09 PHP
PHP根据IP判断地区名信息的示例代码
2014/03/03 PHP
Codeigniter(CI)框架分页函数及相关知识
2014/11/03 PHP
PHP安装threads多线程扩展基础教程
2015/11/17 PHP
一次失败的jQuery优化尝试小结
2011/02/06 Javascript
基于jQuery的动态增删改查表格信息,可左键/右键提示(原创自Zjmainstay)
2012/07/31 Javascript
查看图片(前进后退)功能实现js代码
2013/04/24 Javascript
js自动下载文件到本地的实现代码
2013/04/28 Javascript
基于Css3和JQuery实现打字机效果
2015/08/11 Javascript
JS+CSS实现的经典tab选项卡效果代码
2015/09/16 Javascript
jQuery mobile类库使用时加载导航历史的方法简介
2015/12/04 Javascript
【经验总结】编写JavaScript代码时应遵循的14条规律
2016/06/20 Javascript
javascript insertAfter()定义与用法示例
2016/07/25 Javascript
jquery 多个radio的click事件实例
2016/12/03 Javascript
jquery实现左右轮播图效果
2017/09/28 jQuery
webpack配置打包后图片路径出错的解决
2018/04/26 Javascript
vue 登录滑动验证实现代码
2018/08/24 Javascript
vue图片上传组件使用详解
2019/12/23 Javascript
详解Python中内置的NotImplemented类型的用法
2015/03/31 Python
Python中运算符&quot;==&quot;和&quot;is&quot;的详解
2016/10/08 Python
Windows 7下Python Web环境搭建图文教程
2018/03/20 Python
python实现寻找最长回文子序列的方法
2018/06/02 Python
如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱
2019/11/19 Python
Python : turtle色彩控制实例详解
2020/01/19 Python
通过实例解析Python return运行原理
2020/03/04 Python
What is the purpose of Void class? Void类的作用是什么?
2016/10/31 面试题
高一物理教学反思
2014/01/24 职场文书
投标邀请书范文
2014/01/31 职场文书
感恩老师演讲稿400字
2014/08/28 职场文书
孩子教育的心得体会
2014/09/01 职场文书
2014年党员个人剖析材料
2014/10/08 职场文书
给上级领导的感谢信
2015/01/22 职场文书
运动会广播稿100字
2015/08/19 职场文书
十大最强电系宝可梦,阿尔宙斯电系之一,第七被称为雷神
2022/03/18 日漫