জাভাস্ক্রিপ্ট ক্যোয়ারী স্ট্রিং [বন্ধ]


106

এমন কোন জাভাস্ক্রিপ্ট লাইব্রেরি আছে যা কোয়েরি স্ট্রিং, ASP.NETস্টাইলের বাইরে একটি অভিধান তৈরি করে ?

এমন কিছু যা ব্যবহার করা যেতে পারে:

var query = window.location.querystring["query"]?

"ক্যোরি স্ট্রিং" কে কি .NETরাজ্যের বাইরে কিছু বলা হয় ? কী / মান সংগ্রহেরlocation.search মধ্যে কেন ভাঙা হয়নি ?

সম্পাদনা : আমি আমার নিজস্ব ফাংশন লিখেছি, তবে কোনও বড় জাভাস্ক্রিপ্ট লাইব্রেরি এটি করে?


3
এটি পাওয়া গেছে: medialize.github.com/URI.js
ডেরচাও



1
@ ডেভিডটাউবমান যে একজন বয়স্ক, এটি বিপরীত হবে। মজার বিষয় যে তারা মূলত একই জিজ্ঞাসা করে, তবে প্রশ্নের ফর্ম্যাটটির কারণে একজনের গৌরব সম্প্রদায়ের হয়ে ওঠে এবং অন্যটি অফ-টপিক হিসাবে বন্ধ হয়ে যায়।
আন্দ্রে ফিগুয়েরেদো

উত্তর:


11

হতে পারে http://plugins.jquery.com/query-object/ ?

এটি এর কাঁটা https://github.com/sousk/jquery.parsequery#readme


37
এটি jquery এর স্থানীয় হতে হবে
gcb

@ ইভানমুলাউসকি ধন্যবাদ প্লাগ-ইনটি কেবল অদৃশ্য হয়ে গেছে বলে মনে হচ্ছে। আমি একটি আলাদা লিঙ্ক যুক্ত করেছি, যা সাহায্য করতে পারে।
শ্যাডো 2531

সিএমএসের সরবরাহিত পদ্ধতিটি সহজ এবং ক্লিনার। ESP। আপনি যদি ইতিমধ্যে jquery ব্যবহার না করে থাকেন।
jcoffland

1
আপনি এটি করতে এই লাইব্রেরিটি উল্লেখ করতে পারেন - github.com/Mikhus/jsurl
মখুস


230

আপনি অবস্থান থেকে কী / মান জোড়াটি বের করতে পারেন arch অনুসন্ধান সম্পত্তি থেকে, এই সম্পত্তিটির URL এর অংশ রয়েছে যা অনুসরণ করে? প্রতীক সহ? প্রতীক।

function getQueryString() {
  var result = {}, queryString = location.search.slice(1),
      re = /([^&=]+)=([^&]*)/g, m;

  while (m = re.exec(queryString)) {
    result[decodeURIComponent(m[1])] = decodeURIComponent(m[2]);
  }

  return result;
}

// ...
var myParam = getQueryString()["myParam"];

11
এটি কোনও জয় নয়। কী কী এর মান এর মধ্যে '=' অক্ষর থাকে? উদাহরণস্বরূপ dork.com/?equation=10=2। আপনি যুক্তি দিতে পারেন এটি URL- এনকোড হওয়া উচিত তবে এটি নিশ্চিত হওয়া উচিত নয়। আমি নিজের মতো একটি নির্লজ্জ ফাংশনটি লিখতে ভুল করেছিলাম। এই ফাংশন অ্যাকাউন্টের জন্য একাধিক প্রান্তের কেস রয়েছে।
জেমস ব্রাউনআইএসডেড

6
@ জেমস, কয়েক মাস আগে আমি এই ফাংশনটি সংশোধন করেছি, তা উল্লেখ করতে ভুলে গেছি, এখন এটি সঠিকভাবে আপনার উদাহরণটিকে পরিচালনা করতে পারে dork.com/?equation=10=2...
সিএমএস

2
@ সিএমএস এটি একটি ক্যোয়ারী স্ট্রিংয়ে অ্যারের সম্ভাবনাটি পরিচালনা করে না ?val=foo&val=bar&val=baz আপনি যেমন এটি কীভাবে সামঞ্জস্য করবেন?
রাশ ব্র্যাডবেরি

2
@ রাশব্রেডবেরি আপনার সত্যিই থাকতে পারে না val=foo&val=bar&val=baz; এটি হতে হবেval[]=foo&val[]=bar&val[]=baz
ব্রায়ান ড্রিসকল

1
এটা আমার কাছে অসম্পূর্ণ লাগে যখন আমার মান স্পেস ছিল এবং আমার Vars সঙ্গে শেষ পর্যন্ত %20, 'গুলি তাই আমি প্রতিস্থাপিত result[keyValuePair[0]] = keyValuePair[1] || '';সঙ্গেresult[keyValuePair[0]] = decodeURIComponent((keyValuePair[1]+'').replace(/\+/g, '%20')) || '';
user24601

22

ভ্যানিলা জাভাস্ক্রিপ্ট ব্যবহার করে কোডের একক (ইশ) লাইনে টিএল; ডাঃ দ্রবণ solution

var queryDict = {}
location.search.substr(1).split("&").forEach(function(item) {
    queryDict[item.split("=")[0]] = item.split("=")[1]
})

ক্যোরিস্ট্রিংয়ের জন্য ?a=1&b=2&c=3&d&eএটি ফিরে আসে:

> queryDict
a: "1"
b: "2"
c: "3"
d: undefined
e: undefined

বহু-মূল্যবান কী এবং এনকোডযুক্ত অক্ষর ?

আসল উত্তরটি দেখুন কীভাবে আমি জাভাস্ক্রিপ্টে ক্যোরি স্ট্রিংয়ের মান পেতে পারি?

"?a=1&b=2&c=3&d&e&a=5&a=t%20e%20x%20t&e=http%3A%2F%2Fw3schools.com%2Fmy%20test.asp%3Fname%3Dståle%26car%3Dsaab"
> queryDict
a: ["1", "5", "t e x t"]
b: ["2"]
c: ["3"]
d: [undefined]
e: [undefined, "http://w3schools.com/my test.asp?name=ståle&car=saab"]

8
এটি একটি লাইন নয় - এটি বেশ কয়েকটি লাইন খারাপভাবে ফর্ম্যাট হয়েছে!
JonnyRaa

1
অভিশাপ, আমি কী বলব জানি না ... আপনি আমাকে পেয়েছেন। এখানে, কিছু দ্রবীভূত সমাধান রয়েছে: `var কোয়েরিডিক্ট = {}; অবস্থান.search.substr (1) .স্প্লিট ("&")। forEach (ফাংশন (আইটেম) {কোয়েরিডিক্ট [আইটেম.স্প্লিট ("=") [0]] = আইটেম.স্প্লিট ("=") [1]; }); `
কিওয়ার্টি

2
হাহাহা আমি ভালবাসি! দুঃখিত আমি এমন একজনের সাথে কাজ করতাম যিনি বলতেন যে 'আমি একটি লাইনার পেয়েছি যা এক্স করে' এবং তারপরে আপনাকে কেবল লাইন ব্রেকগুলি নিয়ে 3 লাইন দেখায়!
JonnyRaa

@ জনিলিডস কোনও সমস্যা নেই, আমি আপনাকে ঠিক কী বলতে চাইছি তা ঠিক জানি তবে তারপরেও কেউ কেন প্রতিটি লাইনে শৃঙ্খলিত কমান্ড লিখবে? তারপরে প্যারামিটার হিসাবে একটি ফাংশন দেওয়া হয় (প্যারামিটারগুলি সাধারণত ইনলাইনড থাকে) যার কেবলমাত্র একক অ্যাসাইনমেন্ট রয়েছে। চিৎকার করে inুকিয়ে দেওয়া! : ডি
কিওয়ার্টি

1
@ কিওয়ার্টি, সম্ভবত আপনার "ওয়ান-লাইনার" পুনরায় ফর্ম্যাট করা উচিত যাতে এটি পড়ার ক্ষেত্রে অনুভূমিক স্ক্রোলিংয়ের প্রয়োজন না হয়। আমি এটি সমন্বয় করেছি।
পি আই

8

এই পোস্টটি সন্ধানের পরে, নিজেকে দেখার পরে আমি ভেবেছিলাম আমার যুক্ত করা উচিত যে আমি মনে করি না যে সর্বাধিক আপ-ভোটযুক্ত সমাধানটি সেরা। এটি অ্যারে মানগুলি হ্যান্ডেল করে না (যেমন? A = foo এবং a = বার - এই ক্ষেত্রে আমি প্রত্যাশা করবো যে ফিরে আসবে ['foo', 'বার'])। এটি যতদূর আমি বলতে পারি এনকোড করা মানগুলি বিবেচনা করে না - যেমন হেক্স চরিত্রের এনকোডিং যেখানে% 20 কোনও স্থানকে প্রতিনিধিত্ব করে (উদাহরণ:? A = হ্যালো% 20 ওয়ার্ল্ড) বা স্থান চিহ্নটি উপস্থাপন করতে প্লাস চিহ্ন ব্যবহার করা হচ্ছে (উদাহরণস্বরূপ :? a = হ্যালো + ওয়ার্ল্ড)।

নোড.জেএস কোয়েরিস্ট্রিং পার্সিংয়ের সম্পূর্ণ সম্পূর্ণ সমাধানগুলির মতো দেখায় offers আপনার নিজের প্রকল্পটিতে এটি বেশ ভাল বিচ্ছিন্ন এবং অনুমতিপ্রাপ্ত লাইসেন্সের অধীনে ব্যবহার করা সহজ হবে।

এর জন্য কোডটি এখানে দেখা যাবে: https://github.com/joyent/node/blob/master/lib/querystring.js

নোডের যে পরীক্ষা রয়েছে সেগুলি এখানে দেখা যাবে: https://github.com/joyent/node/blob/master/test/simple/test-querystring.js আমি কীভাবে এটির জন্য জনপ্রিয় উত্তরের সাথে কিছু চেষ্টা করার পরামর্শ দিচ্ছি তাদের পরিচালনা করে

একটি প্রকল্প রয়েছে যা আমি বিশেষভাবে এই কার্যকারিতা যুক্ত করতে জড়িত ছিল project এটি পাইথন স্ট্যান্ডার্ড লাইব ক্যোরিয় স্ট্রিং পার্সিং মডিউলটির একটি বন্দর। আমার কাঁটাচামড়া এখানে পাওয়া যাবে: https://github.com/d0ugal/jquery.qeeree


নোডের কাছ থেকে কেবলমাত্র কোড ধার করা নেই, জেএস, এটি অত্যন্ত আন্তঃগঠিত।
আলফওয়াত

5

অথবা আপনি লাইব্রেরি সুগার.জে ব্যবহার করতে পারেন ।

চিনিজ ডটকম থেকে:

অবজেক্ট.ফ্রমকিউস্ট্রিং (স্ট্রিং , গভীর = সত্য )

একটি URL এর ক্যোয়ারী স্ট্রিংকে একটি বস্তুতে রূপান্তর করে। যদি গভীর মিথ্যা হয় তবে রূপান্তরটি কেবল অগভীর প্যারামগুলি গ্রহণ করবে (অর্থাত্ [[সিনট্যাক্স সহ কোনও বস্তু বা অ্যারে নেই)) কারণ এগুলি সর্বজনীনভাবে সমর্থিত নয়।

Object.fromQueryString('foo=bar&broken=wear') >{"foo":"bar","broken":"wear"}
Object.fromQueryString('foo[]=1&foo[]=2') >{"foo":[1,2]}

উদাহরণ:

var queryString = Object.fromQueryString(location.search);
var foo = queryString.foo;

3

যদি আপনার হাতে ক্যোরিস্টিং থাকে তবে এটি ব্যবহার করুন:

 /**
 * @param qry the querystring
 * @param name name of parameter
 * @returns the parameter specified by name
 * @author eduardo.medeirospereira@gmail.com
 */

function getQueryStringParameter(qry,name){
    if(typeof qry !== undefined && qry !== ""){
        var keyValueArray = qry.split("&");
        for ( var i = 0; i < keyValueArray.length; i++) {
            if(keyValueArray[i].indexOf(name)>-1){
                return keyValueArray[i].split("=")[1];
            }
        }
    }
    return "";
}

2
// How about this
function queryString(qs) {
    var queryStr = qs.substr(1).split("&"),obj={};
    for(var i=0; i < queryStr.length;i++)
        obj[queryStr[i].split("=")[0]] = queryStr[i].split("=")[1];
    return obj;
}

// Usage:
var result = queryString(location.search);

এটি উপরের সর্বাধিক ভোট প্রাপ্ত উত্তরের "আপডেট: রিজেক্স ব্যবহার করার প্রয়োজন নেই" কোডের মতোই কম-বেশি the এই প্রশ্নে অনুরূপ কোডের প্রচুর পরিমাণও রয়েছে )। আপনি decodeURIComponentঅন্তত নিষ্কাশিত স্ট্রিংগুলি অনুপস্থিত ।
রুপ

@ রুপ, এই উত্তরের পরে আপডেট করা হয়েছিল।
কিওয়ার্টি

@ কিওয়ার্টি না এটি ছিল না: আপডেট ছিল ফেব্রুয়ারী ২০১৩, যদিও এই উত্তরটি প্রায় এক বছর পরে ফেব্রুয়ারী ২০১৪-এ ছিল। তবে কে পাত্তা দেয় না, এরকম প্রচুর কোড রয়েছে flying decodeURIComponentযদিও স্ট্যান্ড সম্পর্কে আমার মন্তব্য ।
রুপ

@ রুপ ইউ, দুঃখিত এবং হ্যাঁ
কিওয়ার্টি

2

এটি লক্ষণীয়, জন স্লেজার যে লাইব্রেরিটির উল্লেখ করেছেন তাতে jQuery নির্ভরতা রয়েছে, তবে এখানে একটি সংস্করণ যা ভ্যানিলা জাভাস্ক্রিপ্ট।

https://github.com/EldonMcGuinness/querystring.js

আমি তার পোস্টে কেবল মন্তব্য করতে পারি, তবে এটি করার মতো খ্যাতি আমার নেই। : /

উদাহরণ:

নীচের উদাহরণটি নীচে প্রক্রিয়াটি করুন, যদিও অনিয়মিত, কোয়েরি স্ট্রিং:

?foo=bar&foo=boo&roo=bar;bee=bop;=ghost;=ghost2;&;checkbox%5B%5D=b1;checkbox%5B%5D=b2;dd=;http=http%3A%2F%2Fw3schools.com%2Fmy%20test.asp%3Fname%3Dst%C3%A5le%26car%3Dsaab&http=http%3A%2F%2Fw3schools2.com%2Fmy%20test.asp%3Fname%3Dst%C3%A5le%26car%3Dsaab 

var qs = "?foo=bar&foo=boo&roo=bar;bee=bop;=ghost;=ghost2;&;checkbox%5B%5D=b1;checkbox%5B%5D=b2;dd=;http=http%3A%2F%2Fw3schools.com%2Fmy%20test.asp%3Fname%3Dst%C3%A5le%26car%3Dsaab&http=http%3A%2F%2Fw3schools2.com%2Fmy%20test.asp%3Fname%3Dst%C3%A5le%26car%3Dsaab";
//var qs = "?=&=";
//var qs = ""

var results = querystring(qs);

(document.getElementById("results")).innerHTML =JSON.stringify(results, null, 2);
<script 
src="https://rawgit.com/EldonMcGuinness/querystring.js/master/dist/querystring.min.js"></script>
<pre id="results">RESULTS: Waiting...</pre>


প্রকৃতপক্ষে, আমি আমার উত্তরে যে কোডটি দিয়েছি তাতে jQuery নির্ভরতা অপসারণ করেছি ;-)
জন স্লেজার

2

কোড

এলডন ম্যাকগুইনেসের এই গিস্টটি এখন পর্যন্ত আমি দেখেছি এমন একটি জাভাস্ক্রিপ্ট ক্যোয়ারী স্ট্রিং পার্সারের সর্বাধিক সম্পূর্ণ বাস্তবায়ন।

দুর্ভাগ্যক্রমে, এটি jQuery প্লাগইন হিসাবে লেখা।

আমি এটি ভ্যানিলা জেএসতে আবার লিখেছি এবং কয়েকটি উন্নতি করেছি:

function parseQuery(str) {
  var qso = {};
  var qs = (str || document.location.search);
  // Check for an empty querystring
  if (qs == "") {
    return qso;
  }
  // Normalize the querystring
  qs = qs.replace(/(^\?)/, '').replace(/;/g, '&');
  while (qs.indexOf("&&") != -1) {
    qs = qs.replace(/&&/g, '&');
  }
  qs = qs.replace(/([\&]+$)/, '');
  // Break the querystring into parts
  qs = qs.split("&");
  // Build the querystring object
  for (var i = 0; i < qs.length; i++) {
    var qi = qs[i].split("=");
    qi = qi.map(function(n) {
      return decodeURIComponent(n)
    });
    if (typeof qi[1] === "undefined") {
      qi[1] = null;
    }
    if (typeof qso[qi[0]] !== "undefined") {

      // If a key already exists then make this an object
      if (typeof (qso[qi[0]]) == "string") {
        var temp = qso[qi[0]];
        if (qi[1] == "") {
          qi[1] = null;
        }
        qso[qi[0]] = [];
        qso[qi[0]].push(temp);
        qso[qi[0]].push(qi[1]);

      } else if (typeof (qso[qi[0]]) == "object") {
        if (qi[1] == "") {
          qi[1] = null;
        }
        qso[qi[0]].push(qi[1]);
      }
    } else {
      // If no key exists just set it as a string
      if (qi[1] == "") {
        qi[1] = null;
      }
      qso[qi[0]] = qi[1];
    }
  }
  return qso;
}

এটি কিভাবে ব্যবহার করতে

var results = parseQuery("?foo=bar&foo=boo&roo=bar;bee=bop;=ghost;=ghost2;&;checkbox%5B%5D=b1;checkbox%5B%5D=b2;dd=;http=http%3A%2F%2Fw3schools.com%2Fmy%20test.asp%3Fname%3Dst%C3%A5le%26car%3Dsaab&http=http%3A%2F%2Fw3schools2.com%2Fmy%20test.asp%3Fname%3Dst%C3%A5le%26car%3Dsaab");

আউটপুট

{
  "foo": ["bar", "boo" ],
  "roo": "bar",
  "bee": "bop",
  "": ["ghost", "ghost2"],
  "checkbox[]": ["b1", "b2"],
  "dd": null,
  "http": [
    "http://w3schools.com/my test.asp?name=ståle&car=saab",
    "http://w3schools2.com/my test.asp?name=ståle&car=saab"
  ]
}

আরও দেখুন এই বেহালার


1

function decode(s) {
    try {
        return decodeURIComponent(s).replace(/\r\n|\r|\n/g, "\r\n");
    } catch (e) {
        return "";
    }
}
function getQueryString(win) {
    var qs = win.location.search;
    var multimap = {};
    if (qs.length > 1) {
        qs = qs.substr(1);
        qs.replace(/([^=&]+)=([^&]*)/g, function(match, hfname, hfvalue) {
            var name = decode(hfname);
            var value = decode(hfvalue);
            if (name.length > 0) {
                if (!multimap.hasOwnProperty(name)) {
                    multimap[name] = [];
                }
                multimap[name].push(value);
            }
        });
    }
    return multimap;
}
var keys = getQueryString(window);
for (var i in keys) {
    if (keys.hasOwnProperty(i)) {
        for (var z = 0; z < keys[i].length; ++z) {
            alert(i + ":" + keys[i][z]);
        }
    }
}

আপনি এইচএফ নামটি মিল থাকলে কেস-সংবেদনশীল হতে চাইলে আপনি .toLowerCase () নামটিও রাখতে পারেন।
শ্যাডো 2531

মানটি খালি আছে কিনা তাও আপনি পরীক্ষা করতে পারেন। যদি এটি হয় তবে আপনি এন্ট্রি যুক্ত এড়িয়ে যেতে পারেন তাই অ্যারেতে কেবল খালি-মান থাকে।
শ্যাডো 2531

1
আনস্কেপ () ইউটিএফ -8 সিকোয়েন্সগুলি পরিচালনা করে না, তাই আপনি ডিকোডেরিউআইআরকিউম্পোন্ট () ব্যবহার করতে পারেন। তবে, আপনি যদি চান + ফাঁকে ফাঁকে ফাঁকে ডিস করতে চান, ডিকোডিংয়ের আগে স্ট্রিংয়ে .replace (/ \ + / g, "") চালান।
শ্যাডো 2531

1

আমি এটিকে সহজ, পঠনযোগ্য এবং ছোট রাখতে চাই।

function searchToObject(search) {
    var pairs = search.substring(1).split("&"),
        obj = {}, pair;

    for (var i in pairs) {
        if (pairs[i] === "") continue;
        pair = pairs[i].split("=");
        obj[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);
    }
    return obj;
}

searchToObject(location.search);

উদাহরণ:

searchToObject('?query=myvalue')['query']; // spits out: 'myvalue'

1

খাঁটি জাভাস্ক্রিপ্ট স্ট্রিং ম্যানিপুলেশন সহ এর অনুরূপ প্রয়োজনের জন্য আমি ফাংশন লিখেছি

"http://www.google.lk/?Name=John&Age=20&Gender=Male"

function queryize(sampleurl){
    var tokens = url.split('?')[1].split('&');
    var result = {};

    for(var i=0; i<tokens.length; i++){
        result[tokens[i].split('=')[0]] = tokens[i].split('=')[1];
    }

    return result;
}

ব্যবহার:

queryize(window.location.href)['Name'] //returns John
queryize(window.location.href)['Age'] //returns 20
queryize(window.location.href)['Gender'] //returns Male

ঝরঝরে, তবে আপনি ?যে নেতৃত্বটি সরিয়েছেন সেগুলি বাদ দিলে মূলত আপনি উপরের দুটি উত্তরের সমান?
রূপ

শুধু একটি ছোট উন্নতি। পদ্ধতিটি যেভাবে ব্যবহৃত হয় তা ব্যবহারকারীর পক্ষে সহজ করে তোলে। ব্যবহারকারীকে কেবল কী ক্যোয়ারী স্ট্রিংয়ের মান প্রয়োজন তা জানতে হবে।
প্রণবন মারু

1

আপনি যদি লোডাশ + ইএস 6 ব্যবহার করেন তবে এখানে একটি লাইন সমাধান রয়েছে: _.object(window.location.search.replace(/(^\?)/, '').split('&').map(keyVal => keyVal.split('=')));


0

ঠিক আছে, যেহেতু সবাই আমার আসল প্রশ্নটিকে উপেক্ষা করছে, হেই, আমিও আমার পোস্ট করব! আমার যা আছে তা এখানে:

location.querystring = (function() {

    // The return is a collection of key/value pairs

    var queryStringDictionary = {};

    // Gets the query string, starts with '?'

    var querystring = unescape(location.search);

    // document.location.search is empty if no query string

    if (!querystring) {
        return {};
    }

    // Remove the '?' via substring(1)

    querystring = querystring.substring(1);

    // '&' seperates key/value pairs

    var pairs = querystring.split("&");

    // Load the key/values of the return collection

    for (var i = 0; i < pairs.length; i++) {
        var keyValuePair = pairs[i].split("=");
        queryStringDictionary[keyValuePair[0]] = keyValuePair[1];
    }

    // Return the key/value pairs concatenated

    queryStringDictionary.toString = function() {

        if (queryStringDictionary.length == 0) {
            return "";
        }

        var toString = "?";

        for (var key in queryStringDictionary) {
            toString += key + "=" + queryStringDictionary[key];
        }

        return toString;
    };

    // Return the key/value dictionary

    return queryStringDictionary;
})();

এবং পরীক্ষা:

alert(window.location.querystring.toString());

for (var key in location.querystring) {
    alert(key + "=" + location.querystring[key]);
}

মনে মনে ভেবেছিলেন, জাভাস্ক্রিপ্ট আমার মাতৃভাষা নয়।

যাইহোক, আমি একটি জাভাস্ক্রিপ্ট লাইব্রেরি খুঁজছি (যেমন jQuery, প্রোটোটাইপ) যা ইতিমধ্যে একটি লেখা আছে। :)


1
উপরের কোডের তিনটি লাইনের সমান পরিমাণে আপনার একটি লাইব্রেরি দরকার বলে আমি নিশ্চিত নই! তবুও, কমপক্ষে আপনি আশা করবেন যে কোনও গ্রন্থাগার কী এবং মান উভয়ই ডিকোডেরিউআরআইকিউম্পোনেন্ট () উভয়ই মনে রাখবে, এ পর্যন্ত পোস্ট করা প্রতিটি কোড স্নিপেট এটি করতে ব্যর্থ হয়েছে।
ববিনস

আপনার লাইব্রেরি লাগবে না। আমি আমার বাস্তবায়নটিকে একটি লাইব্রেরির সাথে একটি তুলনা করতে চেয়েছিলাম যাতে আমি দেখতে পেলাম যে আমি কোনও প্রকার মামলা অনুপস্থিত। :)
কোর

জাভাস্ক্রিপ্ট আপনার মাতৃভাষাকে বোঝায় না এর অর্থ কী, আপনার যদি ব্যবহারের জন্য কোনও গ্রন্থাগার প্রয়োজন হয় তবে তা শিখতে হবে
মারওয়ান

0

@ সিএমএস এর উত্তরে আমার বিল্ডিংয়ের সাথে আমার নিম্নলিখিতগুলি রয়েছে (কফি স্ক্রিপ্টে যা সহজেই জাভাস্ক্রিপ্টে রূপান্তর করা যায়):

String::to_query = ->
  [result, re, d] = [{}, /([^&=]+)=([^&]*)/g, decodeURIComponent]
  while match = re.exec(if @.match /^\?/ then @.substring(1) else @)
    result[d(match[1])] = d match[2] 
  result

আপনার যা প্রয়োজন তা আপনি সহজেই দখল করতে পারেন:

location.search.to_query()['my_param']

এখানে জয় হ'ল একটি অবজেক্ট-ওরিয়েন্টেড ইন্টারফেস (ক্রিয়ামূলক পরিবর্তে) এবং এটি যে কোনও স্ট্রিংয়ে করা যেতে পারে (কেবলমাত্র অবস্থান.সন্ধান নয়)।

আপনি যদি ইতিমধ্যে একটি জাভাস্ক্রিপ্ট লাইব্রেরি ব্যবহার করছেন তবে এই ফাংশনটি ইতিমধ্যে বিদ্যমান রয়েছে। উদাহরণস্বরূপ, এখানে প্রোটোটাইপের সংস্করণ

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.