如何更新从匿名成功函数内的returnHtml变量?
function getPrice(productId,storeId) { var returnHtml = ''; jQuery.ajax({ url: "/includes/unit.jsp?" + params,cache: false,dataType: "html",success: function(html){ returnHtml = html; } }); return returnHtml; }
解决方法
这是错误的方法。 AJAX中的第一个A是异步的。该函数在AJAX调用返回之前返回(或至少它可以)。所以这不是范围的问题。这是一个订购的问题。只有两个选项:
>使用async: false
选项使AJAX呼叫同步(不推荐)要么
>改变你的思维方式。不是从函数返回HTML,而是需要传递一个回调,以便在AJAX调用成功时调用。
作为(2)的示例:
function findPrice(productId,storeId,callback) { jQuery.ajax({ url: "/includes/unit.jsp?" + params,success: function(html) { callback(productId,html); } }); } function receivePrice(productId,html) { alert("Product " + productId + " for storeId " + storeId + " received HTML " + html); } findPrice(23,334,receive_price);
原文地址:https://www.jb51.cc/jquery/184394.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。