您的位置:首页 > 其它

使用ajax请求后返回数据显示undefinded解决办法

2018-02-26 20:07 363 查看
今天在使用七牛的sdk做断点续传时候,当文件过大,本地没有存储时候,想要通过ajax将本地信息存到服务器缓存,之后通过读取缓存的方式来完成文件过大断点续传无法使用问题。 但是在使用ajax请求的时候,发现赋值和请求通过server端都能够请求到。但是请求显示的时候显示仍然是undefined。下面是自己的代码:

//查询服务器是否有该值
function getLocalStorage(fileName){
$.ajax({
url  : "/live/get-localStorage",
data : {fileName:fileName},
type : "POST",
dataType: "json",
async:false,
success: function(data){
console.log("data:" + data);
return eval("("+data+")");
},
error:function () {
console.log("查询出错!")
}
});
}


刚开始时候是没有添加async:false,后来看到ajax请求了但是结果出来的比较慢,想到ajax异步请求返回数据慢的问题,然后改为了同步。但是赋值时候仍然是undefined...

原因不得而知,明明是后端也显示出来了。之后看网上说在结果里面用一个方法来得到,再试了下可以了。代码如下:

var temp;
//查询服务器是否有该值
function getLocalStorage(fileName){
$.ajax({
url  : "/live/get-localStorage",
data : {fileName:fileName},
type : "POST",
dataType: "json",
async:false,
success: function(data){
temp  = data;
// return eval("("+data+")");
},
error:function () {
console.log("查询出错!")
}
});
console.log("temp:" + temp);
return temp;
}


比较了下,就是赋值的时候写了一个全局变量。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐