簡體   English   中英

如何更改URL參數格式

[英]How to Change URL parameter formats

當我通過url傳遞參數時,我想更改它們的格式。

那可能嗎?

http://localhost:51406/home/Booking?Rooms=1&Destination={  "name": "Mumbai, India",  "code": "BOM"}&DepartureDate=12/18/2017&ReturnDate=12/19/2017&Adults1=1&Children1=0&C1Age1=0&C1Age2=0&C1Age3=0&C1Age4=0&Adults2=0&Children2=0&C2Age1=0&C2Age2=0&C2Age3=0&C2Age4=0&Adults3=0&Children3=0&C3Age1=0&C3Age2=0&C3Age3=0&C3Age4=0

我想這樣改變

http://***/home/Booking?Rooms=1&Destination=%22Mumbai,%20India(BOM)%22&DepartureDate=12/18/2017&ReturnDate=12/21/2017&Adults1=1&Children1=0&C1Age1=0&C1Age2=0&C1Age3=0&C1Age4=0&Adults2=0&Children2=0&C2Age1=0&C2Age2=0&C2Age3=0&C2Age4=0&Adults3=0&Children3=0&C3Age1=0&C3Age2=0&C3Age3=0&C3Age4=0

目的地應該像第二個一樣改變

這是searchcontroller.js

app.factory("States", function () {
    var states = [ { 'name' : 'Ansan, South Korea', 'code': 'A1N' },
                   { 'name' : 'Asan, South Korea', 'code': 'A1S' },
                   { 'name' : 'Mumbai, India', 'code': 'BOM' },
                   { 'name' : 'Atascadero - CA, United States', 'code': 'AA1' },
                   { 'name' : 'London, United Kingdom', 'code': 'LON' },
                   { 'name' : 'Arlon, Belgium', 'code': 'AAO' } ] 
    return states; 
}); 

這是視圖的部分代碼

   <input name="states" id="city"
          style="margin-left: 0px;margin-right: 109px; font-size: 14px" 
          type="text" placeholder="Any worldwide city or airport"
          ng-model="selectedNumberNonEditable" allow-custom="false"
          typeahead="state as state.name + ' (' + state.code + ')' for state in states | filter:$viewValue | limitTo:8"
          class="form-control" required>

已從評論中添加

<a id="sbutton" target="_blank" class="btn btn-primary btn-lg"
   style="background-color: #E28F13; font-size: 14px"
   ng-href="@Url.Action("Booking", "home")?Rooms={{rooms}}
            &Destination={{selectedNumberNonEdita‌​ble|json}}
            &Departure‌​Date={{departuredate‌​}}"
   onclick="validate(event);"> Search </a>

您需要使用encodeURI

 var param = 'Destination={ "name": "Mumbai, India", "code": "BOM"}'; var encodedParam = encodeURI(param ); console.log(encodedParam ); 

要么

你看起來像這樣嗎

 function getParameterByName(name, url) { if (!url) url = window.location.href; name = name.replace(/[\\[\\]]/g, "\\\\$&"); var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url); if (!results) return null; if (!results[2]) return ''; return decodeURIComponent(results[2].replace(/\\+/g, " ")); } var url = 'http://localhost:51406/home/Booking?Rooms=1&Destination={ "name": "Mumbai, India", "code": "BOM"}&DepartureDate=12/18/2017&ReturnDate=12/19/2017&Adults1=1&Children1=0&C1Age1=0&C1Age2=0&C1Age3=0&C1Age4=0&Adults2=0&Children2=0&C2Age1=0&C2Age2=0&C2Age3=0&C2Age4=0&Adults3=0&Children3=0&C3Age1=0&C3Age2=0&C3Age3=0&C3Age4=0'; var destination = JSON.parse(getParameterByName("Destination", url)); var newDestination = destination.name + "(" + destination.code + ")"; console.log(newDestination); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM