新的jQuery和简单但令人困惑的问题。 HA2。jquery函数访问本地JavaScript变量
我正在用jQuery函数读取xml文件来编写这个正常的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;
}
是的,它的工作原理。我可以调用函数getPrice。和@zerkms例子一样,浏览器不断弹出未定义的getPrice函数。这两个例子有什么区别? –
“@zerkms”的示例使用在版本1.5(http://api.jquery.com/category/deferred-object/)中实现的Deferred。我的例子比较常见,用一个匿名函数调用函数“getPrice”。你必须知道这两者是异步的,因为你异步使用$ .ajax –
@PapaShop在你遇到的例子中,“zerkms”使用了来自版本1.6(http://api.jquery)的“pipe”方法。 COM/deferred.pipe /)。你必须看看jQuery使用的是什么版本。你可以在没有方法“pipe”的情况下使用它,这里是一个基于“zerkms”代码的例子:http://jsfiddle.net/adescalzo/9MgsX/4/ –