From the Jquery docs: you specify the async option to be false to get a synchronous Ajax request. Then your callback can set some data before your mother function proceeds.
Here's what your code would look like if changed as suggested:
Here's what your code would look like if changed as suggested:
beforecreate: function(node,targetNode,type,to) {
jQuery.ajax({
url: 'http://example.com/catalog/create/'
+ targetNode.id
+ '?name='
+ encode(to.inp[0].value),
success: function(result) {
if(result.isOk == false)
alert(result.message);
},
async: false
});
}