2011-11-14 70 views
0

考慮兩個語言的網站,網頁的英文版本通過?lang=en叫下面的AJAX調用似乎對於RSS新聞印刷側邊欄做工精細:AJAX稱爲PHP無法讀取URL

$(document).ready(function() { 
      $.ajaxSetup ({ 
       cache: false 
      }); 
      $('.msg_head').eq(0).click(function(){ 
       $('.msg_body').eq(0).load('printSideNews.php'); 
       $('.loadMessage').eq(2).hide(); 
      }); 

printSideNews .php開始如下:

function checkNewsLanguage(){ 
     $requiredURL = $_SERVER['REQUEST_URI']; 
     $Languag = explode('?lang=',$requiredURL); 
     $myLanguage = $Languag[1]; 
     //echo $myLanguage; 
     if($myLanguage == 'en') 
      return false; 
     else return true; 
    } 

由於某些原因,檢查URL的語言檢查不起作用。我無法獲得新聞欄的英文版。如果我直接轉到news.php(no AJAX used but same PHP functions),那裏我使用絕對相同的程序語言切換正在工作。任何解決這個問題的幫助都非常感謝

+2

你不能只檢查任何理由'$ _GET [ '郎']',而不是說_ SERVER /爆炸/陣列的公司嗎? –

+0

@Marc哈哈,打我。 @George是否有任何特殊原因需要檢查'$ _SERVER [「REQUEST_URI」]而不是'$ _GET [「lang」]'? – btleffler

+0

你是對的,但它似乎沒有幫助 – George

回答

4

AJAX調用不會傳遞lang參數,請嘗試將data: { lang: 'en' }添加到您的ajaxSetup調用中。

UPDATE 更正:

$('.msg_body').eq(0).load('printSideNews.php', 'lang=en'); 
+0

它沒有幫助:( – George

+0

在這種情況下,請嘗試像這樣調用$('。msg_body')。eq(0).load('printSideNews.php',{lang :'en'});'如果它有效,我會改變匹配的答案。 – zrvan

+0

由於某種原因,它不起作用;這個想法是,如果我有news.php加載bg新聞,如果它是news.php? lang = en load english在純PHP和沒有AJAX的情況下工作 – George