2017-05-29 70 views
0

我有一個參數Ajax代碼這樣阿賈克斯查詢字符串PARAM被添加到標準的GET請求

var data = { 
     attr1: 'attr1', 
     attr2: 'attr2', 
    } 

    jQuery.ajax({ 
     type: 'GET', 
     url: '/report/preview.html', 
     data: data, 
     dataType: 'html', 
     success: function(result){ 
      jQuery('#report-body').html(result); 
     }, 
     error: function(xhr,a, b){ 
      console.error(xhr.responseText); 
     } 
    }); 

函數生成的URL - /report/preview.html?attr1=attr1&attr2=attr2

我有一個jsp顯示錶,它可以完全重新加載每一頁的導航。我的問題是,它也將我在ajax調用中設置的參數追加到瀏覽器中的url中。

display table action的url是/report/reportHome.html。在ajax調用之後,當我導航到另一個表頁面時,url變爲/report/reportHome.html?attr1=attr1 & attr2 = attr2。它將ajax參數附加到它的參數。我怎樣才能刪除這些參數?謝謝。

+0

使用類型:POST而不是GET –

+0

即使在發佈此問題之前,我已經這樣做了,但沒有任何效果。我對ajax調用本身沒有問題,但是在顯示錶中的頁面導航時,它附加了ajax參數。該表需要重新加載每個導航的完整頁面,但它附加了我在ajax調用中設置的參數.. – xian

回答

0
  1. 使用表單並POST信息。
  2. 使用Path變量例:/report/attr1/attr2/preview.html
  3. 使用Session
  4. 使用一些編碼/解碼
0

我已經解決了我的問題!發生問題是因爲ajax調用生成的顯示錶的'requestURI'屬性將任何標記生成的參數添加到其值。這就是爲什麼ajax調用中的請求參數被自動添加爲生成表的'requestURI'屬性中的查詢字符串的原因。

我已經在生成的表的「excludedParams」屬性添加AJAX參數解決了這個,因此他們不會因爲查詢字符串添加

所以,不管什麼類型的請求的AJAX使用(獲得或發佈)。