为什么要使用第一种方法并调用它。 (回调功能)。为什么不使用最后一个呢? http://pastebin.ca/2683261
一种方法是使用success: success
第8行。并且该方法的调用者实际上将该方法设置为成功(第16行)
come late
r。我需要像第一种方法一样使用callbacks
* 我确实记得我遇到过传统问题。我只是不记得它是什么。我认为有些事情我并没有得到回应。有人告诉我,你不会立即得到响应,因为它的异步。你需要回电。他是对的。但我不记得用例 *
带有success:success
的(方法调用时回调)
function ajaxEditBox(box, boxType, boxTitle, boxDescription, success, error){
var boxId = box.attr('id').split("-")[1];
alert("box id to be sent to edit by ajax call: "+boxId +" type:"+boxType+" title:"+boxTitle+" desc"+boxDescription);
$.ajax({
url: "${pageContext.request.contextPath}/box/edit/"+boxId+"/"+boxType+"/"+boxTitle+"/"+boxDescription,
cache: false,
success: success,
error: error
});
}
方法调用回调
ajaxEditBox(window.box, boxType, boxTitle, boxDescription, function(){
alert("boo");
$(window.box).removeClass("box-vertical");
$(window.box).removeClass("box-horizontal");
$(window.box).addClass("box-"+boxType);
$(window.box).find(".box-title-text").first().html(boxTitle);
//description change/edit is pending.
},
function(){
alert("ooh");
});
传统的ajax
function ajaxCreateBox(parent){
$.ajax({
url: "${pageContext.request.contextPath}/box/create/"+parentType+"/"+parentId+"/"+boxType+"/"+boxTitle+"/"+boxDescription,
cache: false,
//data:'firstName=' + $("#firstName").val() + "&lastName=" + $("#lastName").val() + "&email=" + $("#email").val(),
success: function(response){
$('#result').html(fetchedBoxId+" "+fetchedBoxType+" "+fetchedBoxTitle+" "+fetchedBoxDescription);
// createBoxInDom();
$("#"+parentElementId+" > ."+parentType+"-body").append(
'<div id="boxid-'+fetchedBoxId+'" class="box box-'+fetchedBoxType+'" >'+
' <div class="box-title" title="'+fetchedBoxDescription+'">'+
...
..
..
..
some logic
...
..
' <div class="box-body">'+
' </div> '+
'</div>');
},
error: function(){
alert('Error while request..');
}