2016-05-15 122 views
0

我試圖讓使用jquery這樣的Ajax調用:(文件名是BR_states.txt和正確匹配)Ajax調用返回當前的HTML頁面,而不是請求的文件

<script> 
function changeSelectedShippingCountry(select){ 
    var countryCode = select.options[select.selectedIndex].value; 
    if (countryCode === 'AR' || countryCode === 'BR' || 
     countryCode === 'CA' || countryCode === 'IN' || 
     countryCode === 'IT' || countryCode === 'JP' || 
     countryCode === 'MX' || countryCode === 'NL' || 
     countryCode === 'TH' || countryCode === 'US') { 
     var urlToFile = countryCode + "_states.txt"; 
     $.ajax({ 
     url: urlToFile, 
     error: function() { 
      alert('error ajax'); 
     }, 
     dataType: 'text', 
     success: function(data){ 
      alert(data); 
      var stateCells = document.getElementsByClassName('stateCells'); 
      stateCells[0].style.display = "table-cell"; 
      stateCells[1].style.display = "table-cell"; 
      var options = data.split(/\n/); 
      $('select[name="state"]').html(''); 
      for (i=0; i<options.length; i++) { 
       var optionKeyVal = options[i].split('='); 
       $('select[name="state"]').html('<option value="'+ optionkeyVal[0] +'">'+ optionKeyVal[1] +'</option>'); 
      } 
     } 
     }); 
    } else { 
     var stateCells = document.getElementsByClassName('stateCells'); 
     stateCells[0].style.display = "hidden"; 
     stateCells[1].style.display = "hidden"; 
    } 
} 
</script> 

但我百達得到當前的html頁面作爲迴應。我試圖將文本文件直接放在Webcontent文件夾下,也放在Java Resources文件夾下的src文件夾下。它在哪裏可以訪問?

我也有問題加載JavaScript文件到標籤。

我使用Apache磁貼。這可能是一個問題嗎?

結構:

的WebContent -tiles -META-INF -WEB-INF -layouts BR_states.txt

+0

分享您的'countryCode'變量代碼,並分享您的完整代碼。 –

+0

如果您的請求文件路徑正確,您的代碼應該正常工作。 –

+0

你可以在'function(data)'中看到,你可以從你的請求文件中找到所有的'data'變量,然後你提醒那些數據,那麼有什麼問題呢。如果你沒有得到你應該得到的東西,那麼這意味着你的路徑有問題。 –

回答

0

OK,我解決了這個問題。這是由於servlet映射到@WebServlet(「/」)導致我的根被重定向到servlet重定向到的任何東西,即/ products。所以,我從來沒有機會訪問放置我的javascript和BR_states.txt文件的根目錄。

相關問題