Ajax 同步和異步操作

        對於Ajax的概念同步異步操作,我都懂概念;ajax是異步操作,不等其他返回結果就會執行,也不等執行結果繼續執行其他的操作;同步操作就是必須等上一步執行完了再執行!enmm~~~但是 因爲這個ajax異步操作,我把我自己坑慘了

      現象就是:在本地進行添加數據的時候可以添加成功,但是發佈出去服務器之後添加數據並沒有添加成功;開始我以爲是因爲後臺操作有問題,但是還是有問題;(本地添加數據成功是因爲,在本地添加速度比較快,服務器還要去訪問數據庫所以導致發現問題方向錯誤);在頁面JavaScript代碼檢查的時候,發現我提交數據後有進行刷新頁面,刷新頁面;就是刷新頁面該死的異步操作,已經把頁面刷新了就沒有辦法提交數據;

 

Ajax代碼:

  console.log("ajax執行前");
   $.post('Save', data, function (result) {
       if (result.code == 0) {
           layer.msg("添加成功");
        
            } else {
               layer.msg("添加失敗");
              }
              console.log("ajax執行中");
              });
           parent.window.location.reload();
           console.log("ajax執行完");

執行結果順序是:

嗯 就是我都把頁面刷新了 提交到後臺的Save方法肯定進不去了  OMG!!!

我本來原意是,不管執行成沒有成功先給用戶提示,然後在刷新頁面,結果把自己坑慘了;所以就調整了一下位置,數據提交成功就給用戶提示,並且刷新頁面;數據提交失敗就只提示不刷新頁面

正確的順序:

 console.log("ajax執行前");
   $.post('Save', data, function (result) {
        console.log("ajax執行中");
       if (result.code == 0) {
           layer.msg("添加成功");
          //  parent.window.location.reload();
            } else {
               layer.msg("添加失敗");
              }
               console.log("ajax執行完");
              });
          
         

執行結果:

OKKK,就是這樣把我自己坑慘了,差不多坑了一天,然後請了外援才解決了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章