2 xfyanmeng xfyanmeng 于 2015.06.18 18:47 提问

怎么把Ajax获取到的值赋值给js变量?

就是想发送个post请求,并把数据赋值给其他变量,我这么从后台获取到数据了,但是不能返回传递给其他变量!

 function getid(id)
    {
        var xmlhttp;

        if (window.XMLHttpRequest)
        {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp=new XMLHttpRequest();
        }
        else
        {// code for IE6, IE5
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }

        xmlhttp.onreadystatechange=function()
        {
            if (xmlhttp.readyState==4 && xmlhttp.status==200)
            {
                resultdata=xmlhttp.responseText;

}
        }
        xmlhttp.open("GET","getId.php?id="+id,true);
        xmlhttp.send();
         return resultdata;  //这样获取不到数据
    }

3个回答

u011432354
u011432354   2015.06.18 18:57

一般是不会的,我遇到过这样的问题!我的解决办法是,先赋值给HTML,然后再通过js获取。希望有大牛分析,为什么会这样。

xiaoseqingchun
xiaoseqingchun 不要用return 因为ajax是异步的。ajax有一个.then在里面写你要执行的function
2 年多之前 回复
danielinbiti
danielinbiti   Ds   Rxr 2015.06.18 20:57
 xmlhttp.open("GET","getId.php?id="+id,true);
 改成
 xmlhttp.open("GET","getId.php?id="+id,false);
danielinbiti
danielinbiti 回复xfyanmeng: 技术就是拿来用的,该同步就同步,也没什么严重的影响。当然如果能采用异步方式是最好的。
2 年多之前 回复
xfyanmeng
xfyanmeng 我是新手,看得教程说不推荐这么做,有影响吗?
2 年多之前 回复
xfyanmeng
xfyanmeng 我是新手,看得教程说不推荐这么做,有影响吗?
2 年多之前 回复
u013829202
u013829202   Rxr 2015.06.19 14:57

又这么复杂吗? ajax执行成功后返回一个函数,把data带过去不就好了嘛?

Csdn user default icon
上传中...
上传图片
插入图片