我正在使用PJAX,它非常适用于简单的示例,但我需要能够使用PJAX请求执行一些高级操作.
>我想在每个PJAX请求中附加一些数据.我想要附加的数据实际上是一个对象数组.见下面的例子.
>我可能需要使用POST而不是GET来进行ajax调用.
>我可能需要将content-type更改为“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处理程序中的设置对象
所有尝试都给了我各种问题.
我不确定为什么这么难.任何帮助将不胜感激!
自
documentation指出:
You can also just call $.pjax directly. It acts much like $.ajax,even returning the same thing and accepting the same options.
我会尝试以下方法:
var people = [{ first: "John",last: "Smith" }]; $('a.sheetlink').click(function(e) { e.preventDefault(); $.pjax({ type: 'POST',url: $(this).href,container: '#content',data: people,dataType: 'application/json' }) });