非常简单,但它没有按应有的方式工作。
$(function(){
(function(){
/**
* @return boolean Depending on success
*/
function saveOnServer(data){
var result = false;
$.ajax({
url : "/post/write.ajax",
data : data,
success : function(response){
if (response == "1"){
alert('Response is 1. OK');
result = true;
}
}
});
return result;
}
$("#save").click(function(e){
e.preventDefault();
// This inserts some stuff (on the server), but always returns FALSE
if ( saveOnServer($("form").serialize())) ){
alert('1'); // This expected to be alerted
} else {
alert('0'); // <- But... This will be alerted
}
});
})($);
});
问题是response
var 总是返回1
,它Response is 1. OK
也会发出警报。但...
result
总是FALSE
。为什么?