場景:某供應商模塊,有新增、編輯操做,對數據進行更改後,關閉新增或編輯頁面,原頁面數據刷新ajax
思路:一、若是能在供應商頁面監聽到新增或編輯頁面的tab頁關閉,那麼在供應商頁面經過事件監聽後執行:window.location.reload()便可。json
百度許久無果,故放棄。app
二、在新增或編輯操做完成時,從新發送供貨商的頁面請求,起初老是用內置的refresh()、reload()、refreshTabs()等方法一通亂試,也想過用ajax從新請求後臺供應商頁面,但都無效或有差錯,最後選擇關閉tab頁再從新打開就好,雖然很笨,但用戶並不能感受到,且能實現數據刷新,下面時主要代碼。async
form.on('submit(save)', function (data) { data.field.status = data.field.status ? 0 : 1; $.ajax({ type: "POST", url: siteurl + '/sys/supplier/save', data: JSON.stringify({ 'supplierInfo': data.field, }), async: false, dataType: "json", contentType: 'application/json;charset=UTF-8', success: function (r) { if (r.code === 0) { if (r.re !== 0) { pLayer.confirm('保存成功,是否返回?', { btn: ['返回', '繼續添加'] }, function () { //關閉彈出框(提示返回或繼續添加) pLayer.closeAll(); //先關閉供貨商模塊,而後再次打開,此時能夠實現數據刷新 parent.app.closeTab(398); parent.app.addTab({ url: siteurl + '/sys/supplier/searchlist', icon: '', title: '供貨商', id: '398'//menuId }) //此刻再關閉新增或編輯頁面 parent.app.closeTab(75);//75爲選項卡id,也對應了menuId,id能夠經過F12,element中查看 }); } else pLayer.alert('添加失敗!'); } else { pLayer.alert(r.msg); } } }); return false;});