gpt4 book ai didi

javascript - jquery 函数访问本地 javascript 变量

转载 作者:行者123 更新时间:2023-11-29 22:23:26 25 4
gpt4 key购买 nike

jQuery 新手,遇到简单但令人困惑的问题。哈2。

我正在用读取 xml 文件的 jQuery 函数编写这个普通的 javascript 函数。如何为顶部声明的 prodPrice 变量赋值?脚本一直返回 0 值,但如果我在 jQuery 函数中提醒该值,我设法获得了我想要的值。

谢谢你们。

function getPrice(valprodID)
{
var prodPrice=0;

jQuery.ajax({
type: "GET",
url: "products.xml",
dataType : "xml",
success : function(xml)
{
jQuery(xml).find('prod').each(function(){
var prodID = jQuery(this).find('prodID').text();
if(prodID == valprodID)
{
prodPrice = jQuery(this).find('prodPrice').text();
return false;
}
});
}
})

return prodPrice;
}

最佳答案

那是因为$.ajax是异步执行的。

这是您学习如何使用 $.Deferred

的绝好机会
function getPrice(valprodID)
{
var prodPrice=0;

return jQuery.ajax({
type: "GET",
url: "products.xml",
dataType : "xml"
}).pipe(function(xml)
{
jQuery(xml).find('prod').each(function(){
var prodID = jQuery(this).find('prodID').text();
if(prodID == valprodID)
{
return jQuery(this).find('prodPrice').text();
}
});
});
}

现在您可以这样调用 getPrice() 函数:

getPrice(someid).done(function(prodPrice) {
// do what you need with prodPrice
});

这是一个关于 jsfiddle 的例子:http://jsfiddle.net/zerkms/9MgsX/1/

关于javascript - jquery 函数访问本地 javascript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10925271/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com