JS -尝试返回AJAX数据
JS — Trying to return AJAX data
我一直在努力使用jQuery从AJAX调用中获取数据。我正在使用RequireJS,所以我的JavaScript可以更易于维护/模块化。我只使用了几天的RequireJS,所以我可能做得对,也可能做得不对。只是在寻找一种方法来保持我的JS模块化和干净。
这是我到目前为止所知道的。我知道它得到了正确的数据因为如果我是console.log(data[Math.floor(Math.random()*data.length)])
,数据就在那里。JSON文件很长,所以我不会展示给你看,只要相信我的话-它可以工作。
var maze;
define(["jquery"], function($){
$.ajax("js/mazes.json", {
dataType: "json",
type: "get",
success: function(data){
var maze = data[Math.floor(Math.random()*data.length)];
}
});
return {
randomMaze: maze
};
});
我也试过这个(在匿名函数中声明maze
)
define(["jquery"], function($){
var maze;
$.ajax("js/mazes.json", {
dataType: "json",
type: "get",
success: function(data){
var maze = data[Math.floor(Math.random()*data.length)];
}
});
return {
randomMaze: maze
};
});
我不知道我做错了什么。只是想返回data[Math.floor(Math.random()*data.length)]
jQuery.ajax()
success
异步返回结果,maze
在success
外同步调用时不能定义
return {
randomMaze: maze
};
尝试从函数中返回jQuery承诺对象$.ajax()
,在异步success
回调中返回对象
// return jQuery promise object
return $.ajax("js/mazes.json", {
dataType: "json",
type: "get",
success: function(data){
// return object as jQuery promise value
return {
randomMaze: data[Math.floor(Math.random()*data.length)];
}
}
});
参见如何从异步调用返回响应?
相关文章:
- React ajax数据集成
- 使用jQuery发布的AJAX数据包含引号
- 如何将Ajax数据值分配给PHP变量
- 使用外部ajax数据PHP绘制图表
- 如何打印AJAX数据
- AJAX数据包含一个或多个单词.
- 将Ajax数据发布到PHP REST服务
- AJAX 数据响应 - 如何解析 html
- 将 Ajax 数据分配给全局变量时出现问题
- 按钮在第一次成功的 ajax 数据加载后不起作用
- Javascript / JQuery循环访问已发布的ajax数据字符串以为其分配新值
- 发送的 Ajax 数据不起作用
- Jquery 工具提示未随 AJAX 数据加载一起显示
- Ajax获取数据以获取另一个Ajax数据
- 如何安全地依赖现有的Ajax数据
- 如何将jquery ajax数据提取为html
- 自定义AJAX数据类型
- 如何将ajax数据发送到rails 3.jQuery正在转义字符串
- jQuery AJAX数据参数
- Laravel 4:通过控制器操作ajax数据