我一直在努力学习Javascript / jQuery但是我已经碰壁了,我似乎无法破解。 这是我的代码:
function beginProblem() {
var myVar = getMyVar();
console.log(myVar);
}
function getMyVar(){
$.ajax({
url: "myTest.php",
success: function(result){
var myVar = result;
// return myVar; THIS DOESN'T WORK
}
});
return myVar; // This doesn't work either
}
beginProblem();
myVar记录为未定义,因为console.log在getMyVar完成之前运行。 我已经阅读了一些关于这个问题的其他问题,但我没有理解解决方案,有人能够让我高兴,当我需要从ajax调用中获取变量时,我应该记住什么,然后才能执行其余的功能
抱歉,并提前致谢!
答案 0 :(得分:0)
所以在ajax方法中,你将url指向" myTest.php"。再次检查此网址。如果您正在使用Chrome,请右键单击选择检查元素(或按F12,如果您使用的是Firefox,则可以下载并安装Firebug插件进行调试),然后再点击" Network"选项卡,并以原始格式查看您的请求。如果您的请求返回代码200,那么除非检查它,否则它的意思是网址是可以的。如果代码为200,请再次检查您的功能。
如果是,它返回代码500,再次检查你的功能,返回类型,逻辑顺序。 400,这意味着它可以找到您的服务,您必须检查您的网址完全路径。我对PHP没有足够的知识。但我在Java方面经验丰富,如果你改成java,那就做我的方向。
答案 1 :(得分:0)
尝试这样的一些
function beginProblem() {
var myVar = getMyVar({
success:function(result)
{
console.log(result);
}
});
}
function getMyVar(obj){
$.ajax({
url: "myTest.php",
success: obj.success
});
}
beginProblem();
答案 2 :(得分:0)
试试这个,它会起作用....
function beginProblem() {
var myVar = getMyVar();
console.log(myVar);
}
function getMyVar(){
$.ajax({
url: "myTest.php",
async: false,
success: function(result){
return result;
}
});
}
beginProblem();