目前,我正在将我的ajax调用转换为常规的$.pjax()
调用。一切正常,但是ajax成功功能。我无法管理如何使用给定参数调用pjax成功函数。
我唯一可以使用的方法是定义pjax全局成功函数,以在每次pjax调用中进行调用:
$(document).on('pjax:success', function(event, data, status, xhr, options) {
});
但不幸的是,我想定义每个 call 特定的成功函数。
Ajax调用示例:
$.ajax({
url:"/myPage/myFunction",
type:"POST",
data:giveMeData(),
success:function(data){$('#right_form').html(data);console.log('Success works!')}
});
Pjax调用示例:
$.pjax({
url:"/myPage/myFunction",
type:"POST",
container:'#right_form',
data:giveMeData(),
success:function(){console.log('Success works!')}
});
最佳答案
我不相信jQuery PJAX库支持将“成功”函数直接传递给$ .pjax调用,尽管我怀疑您可以使用$(document).on('pjax:success')
回调及其options
属性来解决此问题,以实现相同的功能。
例如,说您的请求与上面的类似,但是您想要有一个自定义的成功回调,可以使用如下代码:
$.pjax({
url:"/myPage/myFunction",
type:"POST",
container:'#right_form',
data:giveMeData(),
custom_success:function(){console.log('Custom success works!')}
});
然后,为了运行
custom_success
方法,您可以连接标准的pjax成功侦听器,并且鉴于提供给$.pjax
的所有参数都在选项中可用,然后可以获取custom_success
函数并运行它。所以您的听众可能看起来像例子 $('#right_form').on('pjax:success', function(event, data, status, xhr, options) {
// run "custom_success" method passed to PJAX if it exists
if(typeof options.custom_success === 'function'){
options.custom_success();
}
});
我*认为*哪种会为您提供类似的功能?
关于javascript - jQuery Pjax-Ajax成功功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21679655/