JavaScript响应文本未另存为变量?
我正在使用Ajax在我的站点中运行PHP脚本。我想为PHP脚本的响应设置一个JS变量 此脚本应将变量“stopAt”设置为42 这是我的错误: 这是我的密码:JavaScript响应文本未另存为变量?,javascript,php,html,ajax,Javascript,Php,Html,Ajax,我正在使用Ajax在我的站点中运行PHP脚本。我想为PHP脚本的响应设置一个JS变量 此脚本应将变量“stopAt”设置为42 这是我的错误: 这是我的密码: function reqListener () { console.log(this.responseText); } var oReq = new XMLHttpRequest(); //New request object
function reqListener () {
console.log(this.responseText);
}
var oReq = new XMLHttpRequest(); //New request object
oReq.onload = function() {
var stopAt = (this.responseText)
};
oReq.open("get", "gennum.php", true);
oReq.send();
theWheel.animation.stopAngle = stopAt;
下面是gennum.php:
<?php
echo json_encode(42);
?>
谢谢!希望你们能解决我的问题!:)
stopAt
是一个局部变量。它仅在函数内部定义。您需要将使用它的语句移动到函数中
oReq.onload = function() {
var stopAt = (this.responseText);
theWheel.animation.stopAngle = stopAt;
};
有没有任何方法可以通过使用全局变量来实现这一点。。。还是什么?您仍然需要在函数内设置
stopAngle
。是异步的,因此它将在不等待请求完成的情况下尽快返回,并且在下面的send()
call中仍然没有定义变量。@jake………我让它工作了!非常感谢你的帮助!你是这个社区的重要组成部分!:)