質問
Vue.jsでページ離脱時にAPIを実行したいのですが、表題の通りiOSからでは期待した動作が行われません。
別の方法をご教授いただけないでしょうか。
ソースコード
vue
1mounted: function() { 2 // ページから離れる前にここが呼ばれる 3 window.addEventListener('beforeunload', function() { 4 this.request(); 5 }); 6}, 7methods: { 8 request: function() { 9 axios 10 .post("/api/update", this.params) 11 .then(function(response) {}) 12 .catch(function(err) {}); 13 }, 14}
試したこと
iOS(Safari)ではbeforeunloadは呼ばれないようなので、pagehideに置き換えましたが、
axiosが実行されません。
vue
1mounted: function() { 2 // ページから離れる前にここが呼ばれる 3 window.addEventListener('pagehide', function() { 4 this.request(); 5 }); 6}, 7methods: { 8 request: function() { 9 console.log('ここまでは動く') 10 axios 11 .post("/api/update", this.params) 12 .then(function(response) {}) 13 .catch(function(err) {}); 14 }, 15}
参考
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/01 06:25