Tag: 异步

ASP.net进度条在异步操作期间通过jQuery ajax更新

我正在尝试为长时间运行的异步任务设置一个简单的html进度条。 问题是我试图触发回发来运行一些服务器代码并同时执行客户端点击事件来启动ajax轮询,这导致ajax调用中的错误返回。 这是我的jQuery和html代码: “use strict”; var PROGRESS; $(document).ready(function () { $.ajaxSetup({ type: “POST”, contentType: “application/json”, data: ‘{}’, timeout: 10000, converters: { “text json”: function (data) { var msg; msg = $.parseJSON(data); return msg.hasOwnProperty(‘d’) ? msg.d : msg; } } }); PROGRESS = { done: false, startProgress: function () { var _progress = this; $.ajax({ url: […]

有没有更好的方法来创建异步更新而不使用setInterval?

我有我的网站的多个部分,每半秒检查一次更新,所以它可以提醒你消息等。但是我觉得使用带有setInterval的$ .post可能在网站上有点沉重。 是否有更好的建议用于这些任务的替代方法?

jquery的attr()是否异步?

假设我有一个循环,在每次迭代时它附加一个带有img标记的div,然后使用以下内容加载其src属性: $(“img”).last().attr(‘src’, imageSource); 如果我为几个不同的图像进行了几次迭代,我是否会异步加载这些图像? 如果没有,如何通过循环异步加载图像? 我很乐意得到一些ajax提示。

我如何知道上次异步完成的时间?

我有这样的事情: for (var i=0;i<result.qry.ROWCOUNT;i++) { myAsync(i); } 我怎么知道我的所有异步函数何时完成执行? 冒着有人回复“需要更多jQuery!”的风险,我可以使用jQuery promise对象吗? 或推迟或类似的东西?

查克诺里斯推特小部件正在失去IE的风格

在IE上异步加载twitter小部件时遇到一个奇怪的问题。 它加载得很好,但由于某种原因,不适用于IE(7,8,9)上的任何样式(颜色,背景为空白/默认)。 以标准方式加载脚本也适用于IE。 代码看起来像这样,适用于所有浏览器(包括IE,但没有样式) jQuery(window).load(function () { jQuery(”).appendTo(“head”); jQuery.getScript(‘http://widgets.twimg.com/j/2/widget.js’, function () { var twitter = new TWTR.Widget({ id: ‘twitter_div’, version: 2, type: ‘profile’, rpp: 4, interval: 6000, width: ‘auto’, height: 300, theme: { shell: { background: ‘#add459’, color: ‘#382638’ }, tweets: { background: ‘#ffffff’, color: ‘#141114’, links: ‘#4aed05’ } }, features: { scrollbar: false, loop: […]

等待.each()完成,给定.each()具有AJAX调用

可能重复: 仅在.each()完成后继续执行 这个问题实际上是这次讨论的延续。 如果在其回调函数中有$.get() ,我们如何等待each()完成执行? 可以在这里找到工作示例。 /* JavaScript / jQuery. */ function prepareLayer($n) { $.get(‘./a.html’, function(data) { /* a.html contains: Click me! */ $n.html(data); }); } function postPreparation() { $(‘.element a’).click(function() { alert(‘Ouch… you just clicked me!’); }); } $(function() { $(‘.element’).each(function() { prepareLayer($(this)); }); postPreparation(); });

由于异步图像加载,图像的宽度和高度为零

我有一个很长的base64类型的字符串,我想设置为图像的src $(‘#img’).attr(‘src’,base64data) console.log(‘height – ‘ $(‘#img’).height()); console.log(‘width – ‘ $(‘#img’).height()); 看起来我的height和width都是0 。 当然,如果我等一会儿,我会得到适当的高度。 事情是.attr()没有回调,如何在设置src属性后获得高度和宽度而不返回0 。 (我想我得到0因为Jquery的变化是异步发生但我不能太确定)

jquery异步和JSON数据

从javascript jquery和使用eval我仍然无法获得jquery异步读取数据。 data1=[1,2,3,4] 注意:我在下面的示例中包含了async:true只是为了显示差异 下面的例子返回“null” $(document).ready(function(){ var myArray=[]; myArray=getValues(); alert(myArray); function getValues(){ var result=null; $.ajax({ url: ‘data1.html’, type: ‘get’, dataType: ‘json’, cache: false, success: function(data) {result = data;}, async:true, }); return result; }; }) 以下示例工作正常,并以数组forms给出结果,即[1,2,3,4] $(document).ready(function(){ var myArray=[]; myArray=getValues(); alert(myArray); function getValues(){ var result=null; $.ajax({ url: ‘data1.html’, type: ‘get’, dataType: ‘json’, cache: false, success: function(data) […]

Modernizr – 哪些脚本异步加载?

我有以下内容: Modernizr.load([ { load : ‘//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js’, complete : function () { if ( !window.jQuery ){ Modernizr.load(‘/js/jquery-1.6.2.min.js’); } } }, { load : [“/js/someplugin.js”, “/js/anotherplugin.js”], complete : function() { // do some stuff } }, { load: (‘https:’ == location.protocol ? ‘//ssl’ : ‘//www’) + ‘.google-analytics.com/ga.js’ } ]}; 我读到Modernizr加载脚本Asyncronously。 但在上面的例子中,哪些是异步加载? 是否所有以下内容都是异步加载的? jquery.min.js someplugin.js anotherplugin.js 的ga.js 或者它是异步和有序加载的组合,如下所示: […]

Yepnope和“Proxy” – jQuery的ready()函数

我(非常)慢慢地获得了一个大型的静态文件站点,以及最新的所有好东西。 我使用yepnope(与新的Modernizr.load打包)来处理异步依赖加载,同时我需要它与当前代码库向后兼容。 这需要我在yepnope()的包装器中包装yepnope()站点范围内的每个jQuery调用(在不久的将来要完成的任务太大yepnope() , 或者更有创意的解决方案是通过我自己的代理 jQuery的ready()函数,并且延迟任何$代码的执行,直到来自yepnope的回调准备好……一旦yepnope测试满足jQuery的准备,jQuery的实际ready()函数将成为处理程序。 合理? 现在的问题: 我在这里制造灾难吗? 这是一个适合我的短期问题的解决方案,在一个糟糕的实施广泛的意大利面条DOM中心代码? 更新#3 一个更经过深思熟虑的方法,也可以解释匿名函数直接传递给jQuery的非就绪问题。 这是尽可能少地保留$(function(){})调用以及$(document).ready()调用的function的第三次尝试。 (function( window, undefined ) { var jQuery = (function(fn) { if (typeof fn === ‘function’) { yepnope({ test: window.jQuery.length, complete: function() { fn(); } }); } var jQuery = _jQuery = window.jQuery, _$ = window.$; jQuery = jQuery.prototype = { constructor: jQuery, […]