আমি কীভাবে কোনও HTTP অনুরোধের সাথে একটি অ্যারে প্রেরণ করতে পারি?
অনুরোধটি প্রেরণের জন্য আমি জিডব্লিউটি ক্লায়েন্ট ব্যবহার করছি।
উত্তর:
এটি টার্গেট সার্ভার কী গ্রহণ করে তার উপর নির্ভর করে। এটির জন্য কোনও নির্দিষ্ট মান নেই। এও উইকিপিডিয়া: ক্যাইরি স্ট্রিং দেখুন :
যদিও এখানে কোনও নির্দিষ্ট মান নেই, বেশিরভাগ ওয়েব ফ্রেমওয়ার্কগুলি একক ক্ষেত্রের সাথে একাধিক মানকে যুক্ত করতে দেয় (যেমন
field1=value1&field1=value2&field2=value3
)। [৪] [৫]
সাধারণত, যখন লক্ষ্য সার্ভার জাভা ( সার্লেট ) এর মতো শক্তিশালী টাইপড প্রোগ্রামিং ভাষা ব্যবহার করে , তখন আপনি কেবল তাদের একই নাম সহ একাধিক পরামিতি হিসাবে পাঠাতে পারেন। এপিআই সাধারণত অ্যারে হিসাবে একাধিক প্যারামিটার মানগুলি অর্জন করার জন্য একটি উত্সর্গীকৃত পদ্ধতি সরবরাহ করে।
foo=value1&foo=value2&foo=value3
String[] foo = request.getParameterValues("foo"); // [value1, value2, value3]
request.getParameter("foo")
এটা কাজ করবে, কিন্তু এটি শুধুমাত্র প্রথম মান ফিরে আসবেন।
String foo = request.getParameter("foo"); // value1
এবং, যখন লক্ষ্য সার্ভারটি পিএইচপি বা আরআর এর মতো দুর্বল টাইপ করা ভাষা ব্যবহার করে , তখন আপনাকে []
একক মানের পরিবর্তে মানগুলির একটি অ্যারে ফিরিয়ে দিতে ভাষাটিকে ট্রিগার করার জন্য আপনার ব্রেসগুলির সাথে পরামিতিটির প্রত্যয় প্রয়োজন ।
foo[]=value1&foo[]=value2&foo[]=value3
$foo = $_GET["foo"]; // [value1, value2, value3]
echo is_array($foo); // true
আপনি যদি এখনও ব্যবহার করেন foo=value1&foo=value2&foo=value3
তবে এটি কেবল প্রথম মানটিই ফিরিয়ে দেবে।
$foo = $_GET["foo"]; // value1
echo is_array($foo); // false
মনে রাখবেন যে আপনি যখন foo[]=value1&foo[]=value2&foo[]=value3
কোনও জাভা সার্লেটতে প্রেরণ করবেন তখন আপনি সেগুলি পেতে পারেন তবে ব্রেসগুলি সহ আপনাকে সঠিক প্যারামিটারের নামটি ব্যবহার করতে হবে।
String[] foo = request.getParameterValues("foo[]"); // [value1, value2, value3]
[]
অনুরোধ প্যারামিটার নামের ব্র্যাকেট প্রত্যয়গুলি দুর্বল টাইপ করা ভাষাগুলির মতোই ব্যাখ্যা করা যায় না। ইচ্ছাকৃত পরিবর্তনশীল প্রকারটি তৈরি করতে সক্ষম হবার জন্য দুর্বল টাইপ করা ভাষার জন্য এটি প্রায়শই অভ্যন্তরীণ কাজ হিসাবে প্রবর্তিত হয়েছিল। পিএইচপি প্রথম কাজ ছিল।
আমি জানি এই পোস্টটি সত্যিই পুরানো, তবে আমাকে জবাব দিতে হবে কারণ বালুসকের উত্তরটি সঠিক হিসাবে চিহ্নিত হলেও এটি সম্পূর্ণ সঠিক নয়।
আপনাকে "[]" যুক্ত করে কোয়েরিটি লিখতে হবে এভাবে:
foo[]=val1&foo[]=val2&foo[]=val3
<input name="user[name]" /> <input name="user[email]" />
একটি<form>
কন্টেইনারের ভিতরে থাকা সমস্ত ব্রাউজারে ডিফল্টরূপে কীভাবে জমা দিতে হয় তা জানে। ইনপুটগুলি ব্যবহারকারী হয়ে উঠবে [নাম] = সোমটেক্সট এবং ব্যবহারকারী [ইমেল] =Some@TEXT.com --- এটি হোস্ট অ্যাপ্লিকেশন যা ডায়াকডিংটিকে আবার অ্যারেতে পরিচালনা করতে হবে