Javascript 在ajax调用中未访问的值
我有以下代码。问题是,当我在click函数中警告id和status的值时,它可以正常工作,但当我尝试在函数外部这样做时,id的值最初会返回未定义的值,但之后警告就不起作用了。请帮忙Javascript 在ajax调用中未访问的值,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有以下代码。问题是,当我在click函数中警告id和status的值时,它可以正常工作,但当我尝试在函数外部这样做时,id的值最初会返回未定义的值,但之后警告就不起作用了。请帮忙 var status = 1; var id; $("body").on('click','#first' , function() { id = 1; $.ajax({ type: "POST",
var status = 1;
var id;
$("body").on('click','#first' , function() {
id = 1;
$.ajax({
type: "POST",
url: "url",
data: {id: id, status: status},
dataType: "html",
success: function(data) {
//alert(data);
if($.trim(data) == "A") {
alert('A');
} else if($.trim(data) == "B") {
alert('B');
}
}, error: function() {
alert("ERROR!");
}
});
});
$("body").on('click','#second' , function() {
id = 2;
status = 0;
$.ajax({
type: "POST",
url: "url",
data: {id: id, status: status},
dataType: "html",
success: function(data) {
//alert(data);
if($.trim(data) == "A") {
alert('A');
} else if($.trim(data) == "B") {
alert('B');
}
}, error: function() {
alert("ERROR!");
}
});
});
试试这个
var status = 1;
var id;
$("body").on('click','#first' , function() {
id = 1;
SomethingName();
});
$("body").on('click','#second' , function() {
id = 2;
status = 0;
SomethingName();
});
function SomethingName(){
$.ajax({
type: "POST",
url: "url",
data: {id: id, status: status},
dataType: "html",
success: function(data) {
//alert(data);
if($.trim(data) == "A") {
alert('A');
} else if($.trim(data) == "B") {
alert('B');
}
}, error: function() {
alert("ERROR!");
}
});
}
或者试试这个
var status = 1;
var id;
$("body").on('click','#first' , function() {
id = 1;
SomethingName(id,status);
});
$("body").on('click','#second' , function() {
id = 2;
status = 0;
SomethingName(id,status);
});
function SomethingName(_id,_status){
$.ajax({
type: "POST",
url: "url",
data: {id: _id, status: _status},
dataType: "html",
success: function(data) {
//alert(data);
if($.trim(data) == "A") {
alert('A');
} else if($.trim(data) == "B") {
alert('B');
}
}, error: function() {
alert("ERROR!");
}
});
}
将ajax放在click Event中除非调用了click1或click2,“id”将不会有任何基于代码的值。仍然没有发生任何事情@Guradio,具体来说,值在哪里是未定义的?你希望它在那个时候有什么价值?为什么?这个代码对我来说没什么意义。在进行AJAX调用之前,用户不可能单击某个元素,它实际上位于下一行代码中。在这段代码中,你到底想实现什么?@pokemon如果你在初始化后调用ajax,它就会工作。你能分享你改变了什么吗。