我有一些要传递给AJAX调用的变量:
例如
var moo = "cow noise";
$.ajax({
type: "POST",
url: "",
data: "",
success: function(data){
//return the variable here
alert(moo);
}
});
但是,
moo
返回未定义。注意,我故意将
url
和data
留空-它们已填充在我的代码中。 最佳答案
我想您的代码可能已经作为jQuery包裹在$(function(){ ... });
中。删除var
基本上可以使其成为window.moo = "cow noise";
,但是会污染名称空间,而这并不是您想要的。
不要尝试污染全局名称空间,它会使您的其他代码难以调试。
使用闭包应该可以解决您的问题:
var moo = "cow noise";
(function(moo){
$.ajax({
type: "POST",
url: "",
data: "",
success: function(data){
//return the variable here
alert(moo);
}
});
})(moo);