2010-12-21 45 views
1

我執行JavaScript代碼從一個AJAX調用是這樣的:如何從Javascript中的AJAX調用獲取URL變量?

function loadViewViaAjax(url) { 
    Ext.Ajax.request({ 
     url: url, 
     success: function(objServerResponse) { 
      var responseText = objServerResponse.responseText; 
      var scripts, scriptsFinder=/<script[^>]*>([\s\S]+)<\/script>/gi; 
      while(scripts=scriptsFinder.exec(responseText)) { 
       eval(scripts[1]); 
      } 
     } 
    }); 
} 

我送參數中的URL是這樣的:

alt text

我得到這樣的價值觀與PHP和JavaScript :

alert('the URL from PHP: [<?php echo $_SERVER["REQUEST_URI"]; ?>]'); 
alert('the URL from javascript: [' + window.location.href + ']'); 

雖然PHP提供了請求URI,所以我可以訪問URL變量(也通過_GET $):

alt text

我不能讀,因爲它的window.location.href得到支持JavaScript的URL變量是父頁面,而不是AJAX調用的URL:

alt text

如何使用Javascript我可以從AJAX調用而不是從父頁面獲取URL?

+0

是不是足夠的url變量? (*你是否希望`eval`代碼可以訪問url?*) – 2010-12-21 16:50:37

回答

0

這個問題原來只是一個範圍的誤解:我用eval執行的javascript可以訪問主腳本中的變量,所以不需要傳遞值。