Ajax 将数据追加到PJAX请求

Ajax 将数据追加到PJAX请求,ajax,pjax,Ajax,Pjax,我正在使用PJAX,它对于简单的示例非常有用,但我需要能够使用PJAX请求完成一些高级操作 我想在每个PJAX请求中附加一些数据。我想附加的数据实际上是一个对象数组。见下面的例子 对于ajax调用,我可能需要使用POST而不是GET 我可能需要将内容类型更改为“application/json” 我有以下几点 var people = [{ first: "John", last: "Doe" }, { first: "Jane", last: "Smith" }]; $("a.sheet-l

我正在使用PJAX,它对于简单的示例非常有用,但我需要能够使用PJAX请求完成一些高级操作

  • 我想在每个PJAX请求中附加一些数据。我想附加的数据实际上是一个对象数组。见下面的例子
  • 对于ajax调用,我可能需要使用POST而不是GET
  • 我可能需要将内容类型更改为“application/json”
  • 我有以下几点

    var people = [{ first: "John", last: "Doe" }, { first: "Jane", last: "Smith" }];
    
    $("a.sheet-link").pjax("#content");
    
    $('#content').on('pjax:beforeSend', function (e, jqXHR, settings) {
    
      // Modify ajax request here?
      // Would like to append the people array to data
      // Would like to POST rather than GET
      // May need to change content-type to "application/json".
    
    });
    
    我尝试过多种方法

    • 使用jQuery.ajaxSetup设置一些默认值(我可以设置数据,但是没有附加_pjax数据元素;我尝试将类型设置为POST,但没有坚持)
    • 正在尝试修改beforeSend处理程序中的jqXHR对象
    • 正在尝试修改beforeSend处理程序中的设置对象
    所有的尝试都给了我各种各样的问题

    我不知道这为什么如此困难。任何帮助都将不胜感激

    因为该报告指出:

    您也可以直接调用$.pjax。它的行为很像$.ajax,甚至返回相同的内容并接受相同的选项

    我会尝试以下方法:

    var people = [{ first: "John", last: "Doe" }, { first: "Jane", last: "Smith" }];
    
    $('a.sheetlink').click(function(e) {
      e.preventDefault();
      $.pjax({
        type: 'POST',
        url: $(this).href,
        container: '#content',
        data: people,
        dataType: 'application/json'
      })
    });
    

    谢谢这就是我最终采取的方法。