जावास्क्रिप्ट में अनुरोध से "GET" चर कैसे प्राप्त करें?
JQuery या YUI है! क्या यह सुविधा अंतर्निहित है?
जावास्क्रिप्ट में अनुरोध से "GET" चर कैसे प्राप्त करें?
JQuery या YUI है! क्या यह सुविधा अंतर्निहित है?
जवाबों:
के तहत सभी डेटा उपलब्ध है
window.location.search
आपको स्ट्रिंग को पार्स करना होगा, जैसे।
function get(name){
if(name=(new RegExp('[?&]'+encodeURIComponent(name)+'=([^&]*)')).exec(location.search))
return decodeURIComponent(name[1]);
}
बस GET चर नाम के साथ फ़ंक्शन को पैरामीटर के रूप में कॉल करें, जैसे।
get('foo');
यदि चर का कोई मूल्य नहीं है या मौजूद नहीं है तो यह फ़ंक्शन चर मान या अपरिभाषित लौटाएगा
आप का उपयोग कर सकते हैं jquery.urlमैं इस तरह किया था:
var xyz = jQuery.url.param("param_in_url");
अपडेटेड स्रोत: https://github.com/allmarkedup/jQuery-URL-Parser
var xyz = jQuery.url().param("param_in_url");सही सिंटैक्स jQuery.url()है जो वर्तमान पृष्ठ URL देता है। कृपया सुधार करें।
यदि आप सभी अनुरोधों के साथ एक वस्तु चाहते हैं, तो बस मेरे दो सेंट लगाने के लिए
function getRequests() {
var s1 = location.search.substring(1, location.search.length).split('&'),
r = {}, s2, i;
for (i = 0; i < s1.length; i += 1) {
s2 = s1[i].split('=');
r[decodeURIComponent(s2[0]).toLowerCase()] = decodeURIComponent(s2[1]);
}
return r;
};
var QueryString = getRequests();
//if url === "index.html?test1=t1&test2=t2&test3=t3"
console.log(QueryString["test1"]); //logs t1
console.log(QueryString["test2"]); //logs t2
console.log(QueryString["test3"]); //logs t3
ध्यान दें, प्रत्येक परम के लिए कुंजी निचले मामले में सेट है। इसलिए, मैंने एक सहायक कार्य किया। इसलिए अब यह असंवेदनशील है।
function Request(name){
return QueryString[name.toLowerCase()];
}
नीचे दिए गए कोड की कोशिश करें, यह आपको यूआरएल से जीईटी पैरामीटर प्राप्त करने में मदद करेगा। अधिक जानकारी के लिए।
var url_string = window.location.href; // www.test.com?filename=test
var url = new URL(url_string);
var paramValue = url.searchParams.get("filename");
alert(paramValue)
आज मुझे पृष्ठ के अनुरोध मापदंडों को एक सहयोगी सरणी में प्राप्त करने की आवश्यकता थी इसलिए मैंने अपने दोस्तों से थोड़ी मदद के साथ, निम्नलिखित को एक साथ रखा । यह भी एक के बिना मापदंडों हैंडल के रूप में =true ।
एक उदाहरण के साथ:
// URL: http://www.example.com/test.php?abc=123&def&xyz=&something%20else
var _GET = (function() {
var _get = {};
var re = /[?&]([^=&]+)(=?)([^&]*)/g;
while (m = re.exec(location.search))
_get[decodeURIComponent(m[1])] = (m[2] == '=' ? decodeURIComponent(m[3]) : true);
return _get;
})();
console.log(_GET);
> Object {abc: "123", def: true, xyz: "", something else: true}
console.log(_GET['something else']);
> true
console.log(_GET.abc);
> 123
GET पैरामीटर प्राप्त करने के लिए आप वर्तमान पृष्ठ का URL पार्स कर सकते हैं। URL का उपयोग करके पाया जा सकता है location.href।
यदि आप पहले से ही jquery का उपयोग करते हैं तो एक jquery प्लगइन है जो इसे संभालता है:
एक नक्शा-कम समाधान:
var urlParams = location.search.split(/[?&]/).slice(1).map(function(paramPair) {
return paramPair.split(/=(.+)?/).slice(0, 2);
}).reduce(function (obj, pairArray) {
obj[pairArray[0]] = pairArray[1];
return obj;
}, {});
उपयोग:
For url: http://example.com?one=1&two=2
console.log(urlParams.one) // 1
console.log(urlParams.two) // 2
map/reduceमें सिर्फ एक संग्रह प्रसंस्करण तंत्र है: किसी भी आकार के डेटा के साथ उपयोग किया जा सकता है। यह बड़े डेटा के लिए समानांतर होने की इच्छा के कारण अधिक प्रसिद्ध है
अन्य उत्तरों के विपरीत, UrlSearchParams ऑब्जेक्ट रेगेक्स या अन्य स्ट्रिंग हेरफेर का उपयोग करने से बच सकता है और जो उपलब्ध है वह सबसे आधुनिक ब्राउज़र है:
var queryString = location.search
let params = new URLSearchParams(queryString)
// example of retrieving 'id' parameter
let id = parseInt(params.get("id"))
console.log(id)
यहाँ फ़ंक्शन नाम से पैरामीटर लौटाता है। छोटे परिवर्तनों के साथ आप बेस यूआरएल, पैरामीटर या एंकर को वापस करने में सक्षम होंगे।
function getUrlParameter(name) {
var urlOld = window.location.href.split('?');
urlOld[1] = urlOld[1] || '';
var urlBase = urlOld[0];
var urlQuery = urlOld[1].split('#');
urlQuery[1] = urlQuery[1] || '';
var parametersString = urlQuery[0].split('&');
if (parametersString.length === 1 && parametersString[0] === '') {
parametersString = [];
}
// console.log(parametersString);
var anchor = urlQuery[1] || '';
var urlParameters = {};
jQuery.each(parametersString, function (idx, parameterString) {
paramName = parameterString.split('=')[0];
paramValue = parameterString.split('=')[1];
urlParameters[paramName] = paramValue;
});
return urlParameters[name];
}
मेरे लिए काम करता है
url: http: // localhost: 8080 / # /? access_token = 111
function get(name){
const parts = window.location.href.split('?');
if (parts.length > 1) {
name = encodeURIComponent(name);
const params = parts[1].split('&');
const found = params.filter(el => (el.split('=')[0] === name) && el);
if (found.length) return decodeURIComponent(found[0].split('=')[1]);
}
}