pyt*_*033 162 html javascript jquery
我一直在谷歌搜索这个,并在我的错误修复列表中避免这个错误很长一段时间了,但我终于到达了列表的末尾,最后我要做一个函数返回true/false来说明是否验证成功与否.
我正在使用ajax将某些字段与已经存在于db中的字段进行比较,并且默认情况下该$.post()方法是异步操作的.
我在调用中设置了一个变量,onSuccess并且调用方法因为这个没有得到响应,所以我的所有js/jquery在pageLoad上都失败了...我宁愿我仍然可以继续使用该$.post方法.
Pao*_*fan 203
jQuery <1.8
我可以建议你使用$.ajax()而不是$.post()因为它更可定制.
如果你打电话$.post(),例如,像这样:
$.post( url, data, success, dataType );
Run Code Online (Sandbox Code Playgroud)
你可以把它变成它的$.ajax()等价物:
$.ajax({
type: 'POST',
url: url,
data: data,
success: success,
dataType: dataType,
async:false
});
Run Code Online (Sandbox Code Playgroud)
请注意参数对象async:false的末尾$.ajax().
这里有$.ajax()参数的完整细节:jQuery.ajax() - jQuery API文档.
jQuery> = 1.8"async:false"弃用通知
的jQuery> = 1.8将不会阻止http请求时的UI,所以我们必须使用一种解决方法,只要该请求进行处理,以停止用户交互.例如:
$.ajax(),然后在调用AJAX .done()回调时将其删除.请看一下这个答案的例子.
从Jquery文档:您将async选项指定为false以获取同步Ajax请求.然后你的回调可以在你的母亲功能进行之前设置一些数据.
如果按照建议更改,您的代码将如下所示:
beforecreate: function(node,targetNode,type,to) {
jQuery.ajax({
url: url,
success: function(result) {
if(result.isOk == false)
alert(result.message);
},
async: false
});
}
Run Code Online (Sandbox Code Playgroud)
这是因为$ .ajax是唯一可以设置异步的请求类型
| 归档时间: |
|
| 查看次数: |
177288 次 |
| 最近记录: |