在这种情况下,JavaScript 小部件的 beforecreate 函数需要阻止基于 Ajax 响应创建项目。然而,jQuery 默认的 Ajax 请求是异步的。
要使 Ajax 请求同步,请将 async 选项指定为 false jQuery $.ajax 函数。这确保回调在母函数继续之前执行。
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 }); }
通过将 async 设置为 false,jQuery 执行同步 Ajax 请求,意味着服务器响应后立即调用回调。这允许回调在 beforecreate 函数继续之前设置必要的数据,从而提供防止基于 Ajax 响应创建项目的所需功能。
以上是如何使 jQuery Ajax 请求同步来控制 Widget 创建?的详细内容。更多信息请关注PHP中文网其他相关文章!