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 多级checkbox选择效果
Aug 20 Javascript
jquery 查找新建元素代码
Jul 06 Javascript
javascript string字符串优化问题
Jul 31 Javascript
IE关闭时判断及AJAX注销案例学习
Feb 18 Javascript
JS实现的不规则TAB选项卡效果代码
Sep 18 Javascript
浅谈javascript控制HTML5的全屏操控,浏览器兼容的问题
Oct 10 Javascript
js调用父框架函数与弹窗调用父页面函数的简单方法
Nov 01 Javascript
详解微信小程序入门五: wxml文件引用、模版、生命周期
Jan 20 Javascript
微信小程序实现炫酷的弹出式菜单特效
Jan 28 Javascript
vue获取验证码倒计时组件
Aug 26 Javascript
实例讲解React 组件生命周期
Jul 08 Javascript
原生js实现购物车功能
Sep 23 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+mysql 实现身份验证代码
2010/03/24 PHP
php数组函数序列之in_array() - 查找数组中是否存在指定值
2011/11/07 PHP
phpmyadmin配置文件现在需要绝密的短密码(blowfish_secret)的2种解决方法
2014/05/07 PHP
ThinkPHP之N方法实例详解
2014/06/20 PHP
PHP与Java对比学习日期时间函数
2016/07/03 PHP
php实现图片按比例截取的方法
2017/02/06 PHP
PHP实现删除多重数组对象属性并重新赋值的方法
2017/06/07 PHP
javascript for循环设法提高性能
2010/02/24 Javascript
基于Jquery的回车成tab焦点切换效果代码(Enter To Tab )
2010/11/14 Javascript
js和jquery中循环的退出和继续下一个循环
2014/09/03 Javascript
js实现n秒倒计时后才可以点击的效果
2015/12/20 Javascript
JavaScript中apply方法的应用技巧小结
2016/09/29 Javascript
js实现的光标位置工具函数示例
2016/10/03 Javascript
jquery点赞功能实现代码 点个赞吧!
2020/05/29 jQuery
AngularJS实现自定义指令与控制器数据交互的方法示例
2017/06/19 Javascript
基于JavaScript实现百度搜索框效果
2020/06/28 Javascript
jQuery插件artDialog.js使用与关闭方法示例
2017/10/09 jQuery
详解vue-cli脚手架中webpack配置方法
2018/08/22 Javascript
一些可能会用到的Node.js面试题
2019/06/15 Javascript
js实现带有动画的返回顶部
2020/08/09 Javascript
Python 编码处理-str与Unicode的区别
2016/09/06 Python
pygame加载中文名mp3文件出现error
2017/03/31 Python
Pycharm设置界面全黑的方法
2018/05/23 Python
Python 图像对比度增强的几种方法(小结)
2019/09/25 Python
关于ZeroMQ 三种模式python3实现方式
2019/12/23 Python
Python Django view 两种return的实现方式
2020/03/16 Python
Python中如何引入第三方模块
2020/05/27 Python
opencv 阈值分割的具体使用
2020/07/08 Python
浅谈Python里面None True False之间的区别
2020/07/09 Python
用CSS3来实现社交分享按钮
2014/11/11 HTML / CSS
HTML5中div、article、section的区别及使用介绍
2013/08/14 HTML / CSS
Java面向对象面试题
2016/12/26 面试题
2015年教务工作总结
2015/05/23 职场文书
暑期家教宣传单
2015/07/14 职场文书
django注册用邮箱发送验证码的实现
2021/04/18 Python
Python竟然能剪辑视频
2021/05/25 Python