jQuery $.get(url,data,callback,type) 返回值给全局变量赋值的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery $.get(url,data,callback,type) 返回值给全局变量赋值的问题相关的知识,希望对你有一定的参考价值。
jQuery $.get(url,data,callback,type) 返回值给全局变量赋值的问题
test.html文件内容:
<script type="text/javascript" src="jquery-1.4.min.js"></script>
<script language="JavaScript">
var mm = 1;
$.getJSON("test.php", id1: "3",id2: "5",
function(data)
var ret = data;
var show_info = eval(ret);
mm = show_info[0].id;
);
alert(mm);
</script>
test.php文件内容:
<?php
$MSid1 = $_REQUEST["id1"];
$MSid2 = $_REQUEST["id2"];
$MSid = $MSid1+$MSid2;
$php3 = 33;
$info = array(array('id'=>$MSid, 'php'=>$php3));
$userinfo = json_encode($info);
echo $userinfo;
?>
我在test.html中想用JavaScript 取test.php中的值,赋给test.html中的全局变量mm,可是返回的值只在$.getJSON中起作用mm为8,在全局中显示时任为1,请问该问题如何解决?
另一种就是把异步改为同步 async: false 参考技术A 也不是全局啦,因为ajax是异步的,你在alert的时候, callback内容还没执行完全, 你将需要执行的代码放进callback函数里, mm就是8了,或者你在外面写方法, 在callback里调用该方法,传入新的mm
以上是关于jQuery $.get(url,data,callback,type) 返回值给全局变量赋值的问题的主要内容,如果未能解决你的问题,请参考以下文章