2016-03-29 2 views
0

Ich bin neu auf dieser Website, und ich bin auch neu bei Javascript. Was ich tun würde, ist, einen Wert von einem Link, zB: http://bricks.couponmicrosite.net/JavaBricksWeb/LandingPage.aspx?O=107905&C=MF&CPT=qwbc74g7HdLtKVVQ1oNe&P=test&tqnm=td3ffdn764156741Holen Sie einen Wert von URL und erstellen Sie eine Javascript-Funktion

Ich brauche diesen Wert zu übernehmen: O = 107.905, wenn es nur ein Code, den ich brauche, ist eine Datei (A) laufen,

Wenn es so aussieht: O = 107905 ~ 107906, dann muss ich eine andere Datei (Datei B) ausführen.

Was ich dachte, ist eine Funktion mit Javascript erstellen, wenn es (~) fehlt, dann wird die Datei A verwendet, wenn es eine oder mehrere von (~) dann die Datei B wird zu starten Arbeit.

Vielen Dank im Voraus!

Antwort

0

Mögliche Lösung zu erhalten, die Paramter gäbe es: How to get the value from the GET parameters?

Sobald Sie den Parameterwert haben, können Sie sicher aussehen, wenn Sie ‚~‘ mit String.prototype.indexOf finden.

String.prototype.indexOf gibt die Position der Zeichenfolge in der anderen Zeichenfolge zurück. Wenn nicht gefunden, wird -1 zurückgegeben.

1

Versuchen Sie, diese

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

Well. Wir ermutigen Sie wirklich, zuerst Ihren eigenen Code anzugeben, bevor Sie Lösungen bereitstellen, aber das ist ein ziemlich einfaches Problem in Javascript. Hier ist meine Meinung dazu.

Das erste Problem, das Sie lösen müssen, besteht darin, die Abfragezeichenfolgeparameter in einem sinnvollen Format zu erhalten. Hier erstelle ich ein Objekt, das die Query-String-Schlüssel als den Objektschlüssel (IE 9+ nur wegen der forEach) verwendet

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

Dann ist es nur eine Frage der sicherstellen, dass die Query-String das Zielobjekt enthalten sind (in dieser Fall "O") und bestimmen, ob es mehrere gibt.

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