javascript中对象$.get()中。回调函数获得数据后怎么传出?
如下<scripttype="text/javascript"charset="utf-8"src="/Public/Js/Jquery.min.js"></script...
如下
<script type="text/javascript" charset="utf-8" src="/Public/Js/Jquery.min.js"></script>
<script type="text/javascript">
$(function(){
var ObjectBox=new Object;//声明一个储存的盒子
$.get(
"/Order/AjaxCart",{
Sid:"19"
},function(JsonString){
ObjectBox=JsonString;//赋值
},"json");
alert(ObjectBox.Sid);
});
</script>
为什么在$.get中不能给ObjectBox赋值。我明明声明了全局变量ObjectBox
怎么解决。 展开
<script type="text/javascript" charset="utf-8" src="/Public/Js/Jquery.min.js"></script>
<script type="text/javascript">
$(function(){
var ObjectBox=new Object;//声明一个储存的盒子
$.get(
"/Order/AjaxCart",{
Sid:"19"
},function(JsonString){
ObjectBox=JsonString;//赋值
},"json");
alert(ObjectBox.Sid);
});
</script>
为什么在$.get中不能给ObjectBox赋值。我明明声明了全局变量ObjectBox
怎么解决。 展开
2个回答
展开全部
你可能是没有明白,异步函数和回调函数怎么用,下面是一个通用的简单例子:
<script>
var x; //声明变量
$.xxFunc(xx,yy,...,function(res){ //运行某某异步函数如$.get(),并传入一个回调函数
……
x = res.xx; //给变量赋值,此时距离声明变量,已过去若干毫秒
});
console.log(x); //undefined 因为是异步,所以同步的X没有值
var t = setTimeout(function(){console.log(x)},1000); //服务器不卡情况下,正常1秒内,会收到赋值结果
</script>
展开全部
$.get("/Order/AjaxCart",{Sid:"19"},function(JsonString){
console.log(JsonString);
ObjectBox=JsonString;//赋值
})
你把josnString 打印出来看一下,看看接口返回是否正确
console.log(JsonString);
ObjectBox=JsonString;//赋值
})
你把josnString 打印出来看一下,看看接口返回是否正确
追问
{"Sid":"19","SkuList":[{"Pstandard":"1","Pname":"天目山笋干烧肉","SkuID":"15879572","SkuName":"天目山笋干烧肉","PacingPrice":"0","SkuPrice":"28","SkuNum":5}]}
这是GET返回的数据,不知道怎么就是不能向外面参数赋值。
请告诉我怎么把返回数据传出回调函数,就行了。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询