我正在使用this method之后的参数传递以下网址,以编程方式调用pjax。
var url = '/activity?fromDate='+$('#from-date').val()+'&toDate='+$('#to-date').val();
$.pjax({url: url, container: '#main-body'});
这在现代浏览器上完全正常,但无法在Internet Explorer 9及更低版本中包含任何参数。该页面只导航到/activity
。
为什么?
答案 0 :(得分:0)
pjax依赖其工作的Internet Explorer 9 does not support pushState。当pushState API不可用时,$.pjax
会调用fallbackPjax()
函数。
回退会创建一个隐藏的<form>
,并将您指定的url
放入表单的操作字段中。 将忽略表单操作字段中的所有参数。
有两件事需要做。
var url = '/activity';
var data = 'fromDate='+$('#from-date').val()+'&toDate='+$('#to-date').val();
$.pjax({url: url, data: data, container: '#main-body', method: 'GET' });
method
指定为GET(后备将默认为POST)data
选项字段中传递参数。回退会自动循环遍历您的参数并为每个参数创建输入字段。