JSF中使用jquery拦截ajax请求
jsf提供一个内置的jsf.ajax.request方法给我们使用,如果在jquery中使用,则需要做一些更改。
此处因为使用jquery,所以可以不必在控件中添加onclick方法了,可以给控件配置一个id,然后让其在jquery中绑定控件的点击事件,示例性代码如下:
1 $("#favoriteBtn").on("click",function(event){ 2 jsf.ajax.request(event.target,event,{ 3 execute:‘favoriteBtn‘, 4 onevent:function(data){ 5 if(data.status=="success"){ 6 alert("收藏成功!") 7 } 8 }, 9 onerror:function(data){ 10 alert(‘收藏失败!‘); 11 } 12 }); 13 event.preventDefault(); 14 }); 15 });
在第二行中,本应该是配置该点击控件的id的,结果发现配置id后,点击事件之后会再次提交表单,改成event.target就没有问题了。其次在第13行中使用了event.preventDefault()方法来阻止表单提交,在原js中是可以返回一个false来阻止提交的,但是这个方法在firefox中没有作用,return false只在chrome和IE浏览器下才会起效。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。