2016-03-29 18 views
0

我是這個網站的新手,我也是Javascript的新手。 我會做的是從一個鏈接得到的值,例如: http://bricks.couponmicrosite.net/JavaBricksWeb/LandingPage.aspx?O=107905&C=MF&CPT=qwbc74g7HdLtKVVQ1oNe&P=test&tqnm=td3ffdn764156741從URL獲取值並創建Javascript函數

我需要這個值:O = 107905,如果它僅僅是一個代碼,我需要運行一個文件(文件A),

如果它看起來像這樣:O = 107905〜107906,那麼我需要運行一個不同的文件(文件B)。 (〜)缺少,那麼將使用文件A,如果有一個或多個(〜),那麼文件B將開始到工作。

非常感謝提前!

回答

0

可能的解決方法,以獲得放慢參數會在那裏:How to get the value from the GET parameters?

一旦你的參數值,你可以肯定,如果你發現「〜」與String.prototype.indexOf看。

String.prototype.indexOf返回字符串在另一個字符串中的位置。如果未找到,它將返回-1。

1

試試這個

var url = "http://bricks.couponmicrosite.net/JavaBricksWeb/LandingPage.aspx?O=107905&C=MF&CPT=qwbc74g7HdLtKVVQ1oNe&P=test&tqnm=td3ffdn764156741"; 
var search = url.substring(url.indexOf("?")+1); 

var map={}; 
search.forEach(function(val){var items=val.split("="); map[items[0]]=items[1];}); 

if (map["O"].indexOf("~") != -1) 
{ 
    //O value has ~ in it 
} 
else 
{ 
    //O has no ~ in it 
} 
2

嘛。我們確實鼓勵你在提供解決方案之前先提供你自己的代碼,但這在javascript中是一個相當簡單的問題。這是我的承諾。

您必須解決的第一個問題實際上是以有意義的格式獲取查詢字符串參數。在這裏,我創建一個使用查詢字符串鍵作爲對象鍵(IE 9只因爲forEach

var tmpObject = {} 
location.search.substr(1).split('&').forEach(function(item){ 
    var o = item.split('='); 
    tmpObject[o.shift()] = o.shift(); 
}); 

然後,它只是一個確保查詢字符串包含目標對象的物質(在此對象情況「O」)並確定是否有多個。

if(tmpObject.hasOwnProperty('O') && tmpObject.O.split('~').length > 1) { 
    console.log('return multiple files'); 
} else { 
    console.log('return one file'); 
}