回调函数中JSON对象的解析方式

惯例:

我是温浩然:

先说代码:

<div class="modal-body">
<span style="white-space:pre">	</span>            <!-- <iframe src="http://file-server.erzao.org/file-server/video/select/61?categoryId=48&page=1&size=14&callback=videoServerCallBack" style="border:0;width:560px;height:450px;"></iframe> -->
<span style="white-space:pre">	</span>            <iframe src="http://www.baidu.com?aaa=11&callback=videoServerCallBack" style="border:0;width:560px;height:450px;"></iframe>
<span style="white-space:pre">	</span>        </div>
<script>
document.domain = "erzao.org";
function videoServerCallBack (data){
	var el=$('#videoModel');
	var id=$('.data-id',el).val();
	alert(data);
	if(id==1){
		$('simple1').attr('value',data.src);
	}else if(id==2){
		$('#sample2').attr('value',data.src);
	}else if(id==3){
		$('#sample3').attr('value',data.src);
	}else if(id==4){
		$('#sample4').attr('value',data.src);
	}
	el.modal('hide');
}

</script>

开始的<div>在一个iframe中。

所以,没有牵扯到跨域的问题,如果你没有放到IFRAME中,要么从后台获得数据,要想从前台进行交互,就用jsonp格式,亲,可以看我的其他的博客哦

这个页面加载完成后,会执行一个回调函数,

videoServerCallBack

回调函数中,返回的data是json形式的,但是,我不知道data中传递的是什么东西,就可以alert(data);来看一下。

但是,弹出的却是这个。

Object,无法正确的解析,

这里就牵扯到JSON对象的解析方式了。

JSON.stringify(data);

stringify(),是从一个对象中,解析出来字符串,所以,就可以解析到值了。

alert(JSON.stringify(data));

所以,就可以了,

然后,还有另外一个属性,暂时没有用到。

 

JSON.parse()

这个是从字符串中,解析出JSON对象。所以没有用到。下次用到的时候写博客。

时间: 2024-12-23 11:15:02

回调函数中JSON对象的解析方式的相关文章

jQuery中json对象的复制方式介绍(数组及对象)_jquery

1.jQuery自带的$.map方式 复制代码 代码如下: $.map(json, function (n) { return n; }); 这种方式原来用于复制数组还可以,今天用它复制数组中的某一条记录,发现字段名称丢失了,后来发现了第二种方法. 2.深复制与浅复制 复制代码 代码如下: // 浅层复制(只复制顶层的非 object 元素) var newObject = jQuery.extend({}, oldObject); // 深层复制(一层一层往下复制直到最底层) var newO

JS中JSON对象和String之间的互转及处理技巧_javascript技巧

JSON:JavaScript 对象表示法(JavaScript Object Notation),其实JSON就是一个JavaScript的对象(Object)而已. 如有不清楚JSON,可以去w3cschool了解http://www.w3school.com.cn/json/ 1.在javascript中新建一个字符串(JSON文本). var txt = '{ "employees" : [' + '{ "firstName":"Bill"

如何向回调函数中传入其他参数

如何向回调函数中传参数   最近写JS经常会因为向回调函数中传参而头疼,今天总结一下向回调函数中传参的方法,以后的应用中就不用在到处去找了.   首先构建一个需要向回调函数中传入参数的典型应用.在一个页面中产生了一系列的向Ajax Proxy的请求,传入的是一个ID,根据ID返回了不同的内容值,我们需要把这些内容打印在页面上,同时给页面元素赋予ID,这个时候就需要向回调函数中传入ID,以产生带ID的页面元素.   第一种方法就是使用全局变量,能够被函数和回调函数同时访问.这种方法虽然不够优雅,但

【springMVC 后台跳转前台】1.使用ajax访问的后台,后台正常执行,返回数据,但是不能进入前台的ajax回调函数中 ----2.前后台都没有报错,不能进入ajax回调函数

问题1: 使用ajax访问的后台,后台正常执行,并且正常返回数据,但是不能进入前台的ajax回调函数中 问题展示:    问题解决: 最后发现是因为后台的方法并未加注解:@ResponseBody,导致方法不认识最后返回的是给ajax的data,而是以为要去找这个页面所以并未找到!! 1 @RequestMapping("/queryAllDisease") 2 @ResponseBody 3 public PageInfo<Disease> queryAllDisease

nodejs-NodeJS的回调函数中的变量怎么在回调函数外使用

问题描述 NodeJS的回调函数中的变量怎么在回调函数外使用 例如fs的readFile方法: fs.readFile(filename, [options], callback) 其中读取出来的数据是存在回调函数的参数data中,可是我想在回调函数外,使用读取出的数据,该怎么写? 我刚开始学,纯小白,各位大神写详细点儿,谢谢! 解决方案 用readFileSync同步读取,而不是异步,异步你只能讲需要使用数据的代码全部放入callback中 http://www.itxxz.com/a/gao

boost python c++接口-boost python 封装c++接口 回调函数设置类对象

问题描述 boost python 封装c++接口 回调函数设置类对象 在python调用的时候报错,应该是self不是c++的类型导致无法使用 解决方案 最好是再封装一层C的接口给Python调用

在回调函数中打开新窗口,使用window.open()为什么不执行啊 急急急

问题描述 在回调函数中打开新窗口,使用window.open()为什么不执行啊 急急急 在回调函数中打开新窗口,使用window.open()为什么不执行啊 急急急 解决方案 不是不执行,异步的话大部分会被浏览器拦截.只有用户主动触发的才不会拦截,如点击按钮弹窗. 你的回掉不知道是不是ajax,如果是改为同步的.异步你要点击某个按钮触发ajax前打开新窗口,并保存窗口句柄,在ajax响应完毕后判断错误就关闭,成功就设置句柄URL为你的地址 如win.url='xxx'

jquery ajax回调函数中调用$(this)无法调用的问题解决方法

在调用函数前先把$(this)存入变量,然后再在回调函数中使用就没问题了.  代码如下 复制代码 $(document).ready(function(){ $(".del").click(function () { obj=$(this).parent();//回调函数前先写入变量; delid=$(this).attr('delid'); $.get('drag.php',{'op' : 'del','id' : delid},function(data){ if(data==1)

ajax异步回调函数中给外部变量赋值的问题探讨_AJAX相关

复制代码 代码如下: <!doctype html> <head> <meta charset="utf-8"> </head> <body> <script src="http://localhost/UIBMSPHPProj/public/js/jquery-1.8.2.min.js"></script> <script> $(function(){ var str