2016-08-05 50 views
0

幫幫我! 我有這樣的代碼,但它永遠不會去IF功能? 有什麼不對? jQuery的工作,但確實提醒殺死IF功能? 如果功能沒有jQuery的工作。Javascript和jQuery如果功能不工作

$.get("www.example.com", function(data) { 
    var param = 'name' 
    param = param.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); 
    var regex = new RegExp("[\\?&]" + param + "=([^&#]*)"), 
     results = regex.exec(data); 
    var paramValue = results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " ")); 
    alert(paramValue); 
}); 

if (name == 'Bob') { 
    window.location = ("www.example.com"); 
} else { 
    window.location = ("www.example.com"); 
} 

UPDATE

你好這裏是正確的代碼,但我改變了URL地址。 當我把});以外的if/else功能它仍然不起作用。

它會這樣「ketju」信息的權利,但它不會去任何www.example之後。

所以如果/ else不起作用。用戶登錄網站時需要此「ketju」信息。我不需要顯示這些信息只需要引導用戶到正確的地址。所以這個警報並不重要。

每個用戶都有接口信息,其中包含大量關於用戶的信息。

下面是代碼:

<script type="text/javascript"> 
$.get("https://xxx.xx/learning/id2/bin/flash_api2?random=", 
function(data) { 
var param = 'ketju' 
param = param.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); 
var regex = new RegExp("[\\?&]" + param + "=([^&#]*)"), 
results = regex.exec(data); 
var paramValue = results == null ? "" : 
decodeURIComponent(results[1].replace(/\+/g, " ")); 
alert(paramValue); 


if (ketju == 'Sweden') {  
window.location=("www.example.com"); 
}else{ 
window.location=("www.example.com"); 
} 
}); 
</script> 
+1

「name」應來自哪裏?你會得到一個'undefined'錯誤... – eisbehr

+0

其中'name'是變量定義的嗎? – Maxx

+0

請提供您的html代碼,以便於追蹤您的錯誤 –

回答

0

警報不「殺」的話,不要擔心。但請注意,您的if/else在該函數之外。所以如果你想讓它和alert以及正則表達式一起執行,在if/else之後加上});行,而不是在它之前。

您沒有定義變量name,也沒有在您的代碼中的任何位置分配值Bob(至少不是它顯示的代碼)。您可能需要您的if語句改爲

if (paramValue == 'Bob') 

你會再拿到參數叫做「名」從正則表達式,而paramValue會給你的參數值。所以'愛麗絲',或'鮑勃'或'Hieronymous'或其他。

(前提是分配參數值或正則表達式不會有任何問題)