网页应用开发WebApplicationDevelopment(十)
网页应用开发WebApplicationDevelopment(十)
Simple JS
const data_array = [];
// Function to ensure parameters used in request are encoded correctly
const encodeParameters = function(params) {
// join all key value pairs and store in an array
// Object.keys() gives us all the keys in the object so we can iterate over them
Object.keys(params).forEach(function(key) {
// combine the key with it's value with an "=" between, and store in the array
var paramString = encodeURIComponent(key) + "=" + encodeURIComponent(params[key]);
data_array.push(paramString);
});
// join everything in the array together with "&" between each string
return data_array.join("&");
};
const extractParameters = function() {
// find the contents of the address bar (window.location) after the '#' symbol
var query = window.location.hash.substring(1);
// split at the "&" to break up the query
var params = query.split("&");
var return_data = {};
for (var i = 0; i < params.length; i++) {
// split at the "=" to separate key from value
var keyvalue = params[i].split("=");
return_data[keyvalue[0]] = keyvalue[1];
}
return return_data;
};
BasicJS
const api = (function() {
const data_array = [];
// Function to ensure parameters used in request are encoded correctly
const encodeParameters = function(params) {
// join all key value pairs and store in an array
// Object.keys() gives us all the keys in the object so we can iterate over them
Object.keys(params).forEach(function(key) {
// combine the key with it's value with an "=" between, and store in the array
var paramString = encodeURIComponent(key) + "=" + encodeURIComponent(params[key]);
data_array.push(paramString);
});
// join everything in the array together with "&" between each string
return data_array.join("&");
};
const extractParameters = function() {
// find the contents of the address bar (window.location) after the '#' symbol
var query = window.location.hash.substring(1);
// split at the "&" to break up the query
var params = query.split("&");
var return_data = {};
for (var i = 0; i < params.length; i++) {
// split at the "=" to separate key from value
var keyvalue = params[i].split("=");
return_data[keyvalue[0]] = keyvalue[1];
}
return return_data;
};
return {
encodeParameters: encodeParameters,
extractParameters: extractParameters
};
})();
ES6 Modules
const data_array = [];
// Function to ensure parameters used in request are encoded correctly
var encodeParameters = function(params) {
// join all key value pairs and store in an array
// Object.keys() gives us all the keys in the object so we can iterate over them
Object.keys(params).forEach(function(key) {
// combine the key with it's value with an "=" between, and store in the array
var paramString = encodeURIComponent(key) + "=" + encodeURIComponent(params[key]);
data_array.push(paramString);
});
// join everything in the array together with "&" between each string
return data_array.join("&");
};
var extractParameters = function() {
// find the contents of the address bar (window.location) after the '#' symbol
var query = window.location.hash.substring(1);
// split at the "&" to break up the query
var params = query.split("&");
var return_data = {};
for (var i = 0; i < params.length; i++) {
// split at the "=" to separate key from value
var keyvalue = params[i].split("=");
return_data[keyvalue[0]] = keyvalue[1];
}
return return_data;
};
var api = {
encodeParameters: encodeParameters,
extractParameters: extractParameters
};
export default api;