Jquery Pjax - Ajax成功函数

时间:2014-02-10 14:19:55

标签: javascript jquery ajax pjax

目前我正在将我的ajax调用转换为常规$.pjax()调用。一切正常,但ajax成功功能。我无法管理如何使用给定参数调用pjax成功函数。

我唯一可以使用的是定义在每次pjax调用时调用的pjax全局成功函数:

   $(document).on('pjax:success', function(event, data, status, xhr, options) {

   });

但不幸的是,我想定义每个呼叫特定的成功功能。

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!')}
 });

2 个答案:

答案 0 :(得分:12)

我不相信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的所有参数都可以在选项中使用,那么您可以抓取{ {1}}运行并运行它。所以你的听众可能看起来像例子

custom_success

我认为*会提供你之后的那种功能吗?

答案 1 :(得分:6)

迟到的答案,但我找到了解决方案here

OutputWriter