同步 Ajax 请求将导致页面上出现任何问题
Synchronous Ajax request will cause any issue on the page?
我在同步模式下发出了ajax请求,而不是在异步模式下。下面的代码可以吗?这会导致页面上出现任何问题吗?
或者,给我一些想法,如何使ajax请求将值存储在变量中。
var myPage = myPage || {};
myPage.datas = (function(){
var myvar='';
$.ajax({
async: false,
type:'GET',
url: 'JSON/carousel-data.json',
dataType: "json",
success: function(data) {
myvar = data;
}
});
return myvar;
})();
更好的非UI冻结方法是:
var myPage = myPage || {};
myPage.loadData = function(onDataLoaded){
var me = this;
$.ajax({
type:'GET',
url: 'JSON/carousel-data.json',
dataType: "json",
success: function(data) {
//set myPage.data
myPage.data = data;
onDataLoaded(data);
}
});
};
myPage.loadData(function(data){
//do stuff with the data...
//initialize your page or something
// the data is set on myPage.data in the success callback
});
或者你可以使用承诺。基本上是相似的...下面是一个jQuery实现:
var myPage = myPage || {};
$.when(
$.ajax({
type:'GET',
url: 'JSON/carousel-data.json',
dataType: "json"
})
).done(function(result) {
//the data is set on myPage.data
myPage.data = result[0];
//do stuff with the data...
//initialize your page or something
});
相关文章:
- 客户端图像调整大小.任何已知问题
- setTimeout调用自身的任何问题
- 递归Javascript对象是否会导致任何问题(内存泄漏)
- 同步 Ajax 请求将导致页面上出现任何问题
- 通过抛出setTimeout()来处理JavaScript异常的任何问题
- 对jQuery使用setTimeout()是否有任何问题;媒体查询“;类型情况
- 页面速度 - 仅使用 defer 属性的任何问题
- 对函数表达式和我分配函数表达式的变量使用相同的标识符是否存在任何问题
- 直接从rails视图发送javascript的任何问题
- JavaScript表单提交不会发生任何问题
- 当模式位于单独的文件中时,创建模型时是否存在任何问题
- 转义HTML标记.字符集编码可能出现的任何问题
- NodeJS GZip压缩-任何问题
- 使用typeof窗口的任何问题.postMessage === undefined
- 将属性或函数附加到函数对象上是否有任何问题?
- 是否有任何问题使用JQuery/JavaScript应用大量的CSS样式
- 无限制地使用数组,不用担心任何问题
- 我的JavaScript是否有任何问题,应该通过Web API(在Azure上)返回JSON
- 将visibility=hidden设置为一个已经在javascript中隐藏的按钮,这会产生任何问题吗?
- 当我试图连接数据库时,是否有任何问题?