您的位置:首页 > Web前端 > JQuery

关于pjax.reload()加载页面时出现aborted超时终止的问题

2016-05-09 20:46 471 查看

首先,将点击处的URL改为两个“##”,添加锚点,可以防止点击时跳回页面顶部,重新加载页面也不会跑偏

eg:

$btn_schedule  = Html::a('安排任务', '##', $schedule);


最重要的:在$.pjax.reload() 后面加一个参数 async:false ,false为同步,表示执行完之后才继续往下执行

eg:

$.ajax({
url: action,
async:false,
success: function (data) {
console.log('success!');
$.pjax.reload({container:"#idea_index", async:false});
}
});


补充:

发现将ajax改为同步模式在 Chrome 中无法使用

Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user’s experience. For more help, check https://xhr.spec.whatwg.org/.

大概意思就是:在主线程里使用同步的ajax请求对用户体验有影响,所以不让用了。。。。。

所以做出如下改变:

$.ajax({
url: action,
success: function (data) {
console.log('success!');
$.pjax.reload({container: "#idea_index", timeout: 5000});
}
});


将pjax 超时时间设置为5s
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  pjax ajax yii jquery php