我需要發送一個GET請求。其中一個參數包含URL查詢字符(例如,?
,&
和=
)。在發送請求之前,我如何在KRL中進行URI編碼?URI編碼一個字符串
這裏的pseudocoded想法:
params = "key=value&key=value";
encoded_params = params.urlencode();
request = datasource:service("?data=#{encoded_params}");
我需要發送一個GET請求。其中一個參數包含URL查詢字符(例如,?
,&
和=
)。在發送請求之前,我如何在KRL中進行URI編碼?URI編碼一個字符串
這裏的pseudocoded想法:
params = "key=value&key=value";
encoded_params = params.urlencode();
request = datasource:service("?data=#{encoded_params}");
又見http://docs.kynetx.com/docs/URI
escaped = uri:escape("a b c d"); // "a%20b%20c%20d"
original = uri:unescape(escaped); // "a b c d"
您可以傳遞一個字符串或結構,當你調用一個數據源。當您使用哈希時,哈希值由平臺自動進行URL編碼。
你上面的代碼會被寫成像這樣:
rparams = {
"key1": "value1",
"key2": "value2"
};
request = datasource:service(rparams);
田田!魔法。
請注意,我用字符串文字中的散列聲明,但這些可以是任何表情,和值將作爲數據源請求的參數傳遞。
你需要一個冒號那裏而不是句點(由'unescape')。 – 2011-05-21 03:31:54
已修復。我一直這樣做(doh!) – 2011-05-21 13:38:28