如何在另一个var里面显示来自XMLHttpRequest的数据?

时间:2015-09-17 00:29:16

标签: javascript php

userIP.php

<?php echo $_SERVER['REMOTE_ADDR']; ?>

现在我尝试使用javascript使用回调,但我似乎无法在其他地方显示数据。

这就是我重新获取数据的方式..

    var oReq = new XMLHttpRequest();
    oReq.open("get", "userIP.php", true);
    oReq.send(null);
    oReq.onload = function()
    {
        document.write(this.responseText);
    };

它会显示我的IP ..

但是如何在此var?

中使用oReq中的数据
var params = "&user_ip=" + HERE + "&user_agent=" + navigator.userAgent;

1 个答案:

答案 0 :(得分:2)

更新的答案:

由于在初始请求完成之前设置了params变量,因此数据最终未定义。修复是在请求之后设置它,如下所示: http://pastebin.com/Cd8KkH5g

OLD ANSWER:

我还没有对此进行测试,所以我希望它有效。

在onload函数之外创建一个变量

var loadedText;

替换功能

oReq.onload = function() { loadedText = this.responseText; };

然后在参数内使用变量。

var params = "&user_ip=" + loadedText + "&user_agent=" + navigator.userAgent;