2015-10-19 39 views
0

我在nodejs項目中使用ExpressJs,其中視圖文件的擴展名爲.ejs。ExpressJs「window.location.href」notreloading頁面

因爲我已經寫了Js代碼 - 哪裏選擇框選項更改我正在重新加載頁面。

對於刷新頁面我已經寫了下面的代碼

window.location.href = window.location.host.replace(/[\?#].*|$/, "/equipment/"+$('#rigSelect').val()); 

但它不刷新頁面,而不是調用阿賈克斯行動canceled狀態

它不是在expressjs工作 - window.location.href應該重新加載頁面但它呼籲阿賈克斯行動。

讓我知道我應該如何重新加載頁面?

編輯

的HTML /腳本代碼

<%- include header.ejs %> 
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> 

<script type="text/javascript"> 
      $(function() { 
       var rigRecords = [ rigRecords ] 
       var rigRows = <%- JSON.stringify(rigRecords) %> 

       var rigId = [ rigId ] 
       var rigId = <%- JSON.stringify(rigId) %> 

        function populate(selector) { 
         $.each(rigRows, function (index, val) { 
          if(rigId == val.id){ 
           $(selector).append('<option value="'+val.id+'" selected>'+val.name+'</option>'); 
          }else{ 
           $(selector).append('<option value="'+val.id+'">'+val.name+'</option>'); 
          } 
         }) 
        } 

        populate('#rigSelect'); 

        var records = [ records ] 
        var rows = <%- JSON.stringify(records) %> 

        $.each(rows[0], function (index, val) { 
        //$.each(val, function (index1, val1) { 
          var newTr = '<tr><td>'+val.name+' (VP Id:'+val.viewpoint_id+')</td></tr>'; 
          $('#tbl_equipment').find('.tblBody').append(newTr); 
        //}) 
        }); 
      }); 
      function reloadPage(){ 
       //req.redirect('http://google.com'); 
       //window.location.reload(); 
       window.location.href = window.location.host.replace(/[\?#].*|$/, "/equipment/"+$('#rigSelect').val()); 

      } 
</script> 
+0

可能重複[刷新頁面使用JavaScript或HTML](http://stackoverflow.com/questions/5294842/refresh-a-page-using-javascript-or-html ) – Liam

+1

@Liam它不是真的這個問題的重複,操作系統知道*如何做重定向它似乎並沒有爲他們工作。 FWIW'window.location.href'不應該觸發AJAX調用,對我來說聽起來像是其他事情正在發生。 – James

+0

您是否想過使用'req.render'或'req.redirect'?路線將重新加載頁面:http://expressjs.com/api.html#res.render –

回答

1

我已經改變

window.location.href = window.location.host.replace(/[\?#].*|$/, "/equipment/"+$('#rigSelect').val()); 

window.location.href = '/equipment/'+$('#rigSelect').val(); 

它工作正常:)

相關問題