场景:
使用某个日历控件的dialog(弹出框)来修改信息,点击确认后用jquery的ajax方法调用后台修改,在success方法用返回回来的状态码判断是否修改成功。
代码:
function update(id){ ..... updateCalendar(params); $(this).dialog('close'); location.reload(); } function updateCalendar(params){ $.ajax({ type: 'POST', url: '${ctx}/calendar/calendarManageUpdate.action', data:'id='+params.id, dataType: 'json', success: function(data){ if(data.content != "success"){ alert("您已经有了此日程!"); return; }else{ alert("修改成功"); } } }); }
结果:始终进不了success方法,我试过添加complete方法,也没有进去。搜索过类似问题,有说返回的数据必须是json格式字符串(如果指定了数据格式dataType: 'json'),未果。
解决:ajax方法是在弹出框中定义的,但是ajax方法后调用了弹出框的关闭方法,使处理完后找不到dialog中的success方法,故将dialog的的关闭方法在success中调用:
function update(id){ ..... updateCalendar(params); } function updateCalendar(params){ $.ajax({ type: 'POST', url: '${ctx}/calendar/calendarManageUpdate.action', data:'id='+params.id, dataType: 'json', success: function(data){ if(data.content != "success"){ alert("您已经有了此日程!"); return; }else{ alert("修改成功"); $(this).dialog('close'); location.reload(); } } }); }
总结:ajax的回调方法需要在父类页面存在的情况下才能够调用, 虽然我对ajax添加了同步执行(async=true)参数,也未阻止窗口的关闭。
相关推荐
jquery AJAX 回调函数取JSON成功代码,不需要数据库,jquery路径引导正确可运行,数据调用是已定义json数据
本文是小编给大家带来的jQuery Ajax Post 回调函数不执行的原因及解决方法,在本文最下面还给大家附加jquery Ajax 不执行回调函数success的原因,这两个问题都非常多见,感兴趣的朋友一起看下吧
项目中需要用到ajax来进行数据的请求,于是三下五除二的将ajax代码拷贝到项目中,前端,后台数据处理完毕,测试(心想可以休息下下了),谁知数据成功返回、前端没报错,后台也没错,硬是没有执行success回调函数,...
通过jquery,通过ajax技术访问 server.asp,然后在用回调函数实现本地javascript的调用。这样可以实现通过服务器端控制客户端的html元素。 <!--html客户端代码,演示如何调用jquery的回调函数-->
js操作Cookie子键+Jquery调用Ajax方法执行后台操作 返回值给前台。详细注释 Demo
主要介绍了jQuery实现ajax回调函数带入参数的方法,结合实例形式对比分析了jQuery实现ajax回调函数不带入参数与带入参数的具体实现技巧,需要的朋友可以参考下
$.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数信息。详细参数选项见下。 注意: 如果你指定了 dataType 选项,请确保服务器返回正确的 MIME 信息,(如 xml 返回 "text/xml")。错误的 MIME ...
Ajax-jquery-ajax-progress.zip,使用xhr.onprogress事件调用“progress”回调的jquery的一个简单补丁,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态...
ajax struts jquery json 实现从数据库回调下拉菜单
IWEDIT1的事件处理程序启动AJAX调用,将在IWEDIT1输入的文字传到后台,后台的TIWURLResponderEvent响应前台传来的数据,处理完毕后返回前台,通过前台在AJAX调用时注册的回调函数将处理结果显示在屏幕上。...
数据类型设置为 "jsonp" 时,jQuery 将自动调用回调函数。 -------------------------------------------------------------------------------- Load a remote page using an HTTP request. This is jQuery's low...
韩顺平 jquery框架 jquery与ajax整合
基于jQuery的回调式表单验证插件 一款只负责验证过程的全回调式表单验证插件,支持正则、长度范围、函数回调、AJAX等多种方法,拥有“锁”事件,支持动态添加、修改验证规则。
本套Java教程涵盖Ajax的实现原理,XMLHttpRequest实现Ajax,回调函数,Ajax数据交换格式(HTML、XML、JSON),Ajax发送GET和POST请求,异步编程模型和同步编程模型,解决Ajax的GET请求缓存问题,使用Ajax验证用户名...
jQuery的一个简单补丁,使用事件将调用“进度”回调 用法 只需在页面上添加脚本即可: < script src =" js/jquery.ajax-progress.js " > </ script > 然后,每当发出一个ajax请求时,只需指定一个进度...
具体到这个例子,我们希望button1和button2...ajax load1</button> </div> ”callbackdemo2″> <button id=”button2″>ajax load2</button> </div> ”callbackdemo3″ class=”log”></div>
主要是实现异步手机发送短信成功之后在ajax的success回调中实现将发送按钮置灰并倒计时,刚开始一直报js错误,问题可能出在于调用ajax之后this被更新,随意在这之前先把this对象赋给一个变量就没问题 按钮倒计时代码...
一个关于Jquery+ajax+jsp分页 因为ajax回调函数支持返回的类型有json,html,xml,里面三种都有,受益良多,与大家分享