আমার JSON প্রতিক্রিয়াতে কি আমাকে HTML চিহ্নআপ অন্তর্ভুক্ত করা উচিত?


13

কোনও ই-কমার্স সাইটে, কোনও কার্টে কোনও আইটেম যুক্ত করার সময়, আপনি পছন্দ করতে পারেন এমন বিকল্পগুলির সাথে একটি পপআপ উইন্ডোটি দেখাতে চাই। কল্পনা করুন আপনি একটি আইপড শ্যাফেল অর্ডার করছেন এবং এখন খোদাই করার জন্য আপনাকে রঙ এবং পাঠ্য চয়ন করতে হবে।

আমি উইন্ডোটি মডেল হওয়া চাই, তাই আমি একটি অ্যাজাক্স কল দ্বারা জনবহুল একটি লাইটবক্স ব্যবহার করছি । এখন আমার কাছে দুটি বিকল্প রয়েছে:

বিকল্প 1: কেবলমাত্র ডেটা প্রেরণ করুন এবং জাভাস্ক্রিপ্ট ব্যবহার করে এইচটিএমএল মার্কআপ উত্পন্ন করুন

এ সম্পর্কে দুর্দান্ত বিষয়টি এটি ভালুকের কাছে অ্যাজাক্স অনুরোধটি ন্যূনতম করে দেয় এবং মার্কআপের সাথে ডেটা মেশে না।

এ সম্পর্কে এত বড় বিষয় না যে এখন সার্ভার-সাইডে টেম্পলেট ইঞ্জিন না করে বরং আমার রেন্ডারিং করতে জাভাস্ক্রিপ্ট ব্যবহার করা দরকার। আমি ক্লায়েন্ট-সাইড টেম্প্লেটিং সলিউশন ব্যবহার করে কিছুটা পরিষ্কার করতে সক্ষম হতে পারি ।

বিকল্প 2: এইচটিএমএল মার্কআপ প্রেরণ করুন

এ সম্পর্কে ভাল এটি হ'ল আমি একই সার্ভার-সাইড টেম্প্লেটিং ইঞ্জিনটি ব্যবহার করতে পারি যা আমি আমার বাকি রেন্ডারিং টাস্কগুলির জন্য ব্যবহার করছি (জ্যাঙ্গো), লাইটবক্সের রেন্ডারিং করুন। জাভাস্ক্রিপ্ট কেবল পৃষ্ঠায় এইচটিএমএল খণ্ড সন্নিবেশ করতে ব্যবহৃত হয়। সুতরাং এটি স্পষ্টভাবে রেন্ডারিং ইঞ্জিনে রেন্ডারিং ছেড়ে দেয়। আমার কাছে যৌক্তিক.

তবে কোনও কারণে এজ্যাক্স কলটিতে ডেটা এবং মার্কআপের মিশ্রণটি আমি স্বাচ্ছন্দ্য বোধ করি না। আমি নিশ্চিত না যে কী কারণে আমাকে এ সম্পর্কে অস্বস্তি বোধ করে। আমি বলতে চাইছি, প্রতিটি ওয়েব পৃষ্ঠায় এটি একইভাবে হয় - ডেটা প্লাস মার্কআপ - ডান?


দুর্দান্ত প্রশ্ন। তবে মনে হয় এটি স্ট্যাকওভারফ্লো সম্পর্কিত।
সাইদ নেমতি

1
@ সাeedদনেমতি সফ্টওয়্যার ডিজাইন প্রশ্ন, বিশেষত হোয়াইটবোর্ড- ওয় ধারণা সংক্রান্ত প্রশ্নগুলি এখানে অনন্য-বিষয় এবং স্ট্যাক ওভারফ্লোতে অফ-টপিক

উত্তর:


10

JSON এ কেবল ডেটা থাকা উচিত এবং কোনও মার্কআপ নেই। দীর্ঘমেয়াদে এই পদ্ধতিটি আরও বর্ধনযোগ্য কারণ আপনার সাইটের অন্যান্য অংশে JSON ডেটা ব্যবহারের সম্ভাবনা রয়েছে। আপনি যদি মার্কআপ অন্তর্ভুক্ত করেন তবে একই ডেটা ব্যবহার করে অন্য টেম্পলেটটি পপুলেট করা আরও শক্ত হয়ে যায়।


2
পুনরায় ব্যবহার সম্পর্কে দুর্দান্ত পয়েন্ট। প্রত্যেকে বিভিন্ন কারণে কেবলমাত্র ডেটা রয়েছে এবং কোনও মার্কআপ নেই, এজ্যাক্স অনুরোধের পক্ষে ভোট দিচ্ছেন বলে মনে হচ্ছে। তবে এটি একটি বড় এক। ধন্যবাদ।
মাইক এম লিন

2
মার্কআপ ব্যতীত জেএসএন ছোট এবং ব্যান্ডউইথ কম ব্যবহার করে তা উল্লেখ করার দরকার নেই।

@ জ্যাকমনে: একটি ভাল বিষয়ও। আপনি ইতিমধ্যে এইচটিটিপি অনুরোধের দাম খাওয়ার পরে অতিরিক্ত ব্যান্ডউইথের আসল ব্যয় এতটা নয়। এবং আমি এমন কিছু সেটআপ কল্পনা করতে পারি যেখানে আপনি জানেন ক্লায়েন্ট মেশিনগুলি এতটাই কৃপণ যে জাভাস্ক্রিপ্ট ব্যবহার করে ডম রিয়েল-টাইম উত্পন্ন করতে আপনার আরও বেশি ব্যয় করতে হবে। চিন্তা করুন: প্রাচীন মেশিন / ব্রাউজারগুলির ব্যবহারকারীদের সাথে অভ্যন্তরীণ অ্যাপ্লিকেশনগুলি।
মাইক এম লিন

3

আমি অনুরোধে ডেটা প্রেরণ করব এবং জেএসে মার্কআপ তৈরি করব। একটি অতিরিক্ত সুবিধা হ'ল ব্যান্ডউইথের ব্যবহার কম হবে। এটি ব্যক্তিগত পছন্দ হিসাবে কিন্তু ক্লায়েন্টের সাইড মার্কআপটিকে সার্ভারের দিক থেকে দূরে রাখা সম্ভবত একটি ভাল ধারণা। আমার পাশাপাশি একটি জ্যাঙ্গো ওয়েবসাইট রয়েছে এবং আমার মেশিনে বিকাশ করার সময় আমি কেবল পৃষ্ঠায় কিছু জসন ভেরিয়েবলগুলি রাখার জন্য (একটি কম অজ্যাক্স রেকর্ড।) তৈরি করতে এবং এসসিআর ফাইলগুলি ব্যবহার করার জন্য টেম্প্লেটিং সিস্টেমটি ব্যবহার করি। ক্লায়েন্ট পক্ষের সমস্তই এক্সজেএস দিয়ে সম্পন্ন হয়।


আমি আপনার পৃষ্ঠায় JSON ডেটা জ্বালানোর ধারণাটি পছন্দ করি - এখানে আপনি যেহেতু আপনার কার্টে কী আইটেম যুক্ত করছেন তা না জানা পর্যন্ত আমি অতিরিক্ত ডেটা আনব না। পৃষ্ঠার বিন্যাসের জন্য একটি অনুরোধ করা, তারপরে ডেটাগুলির জন্য একটি সেকেন্ড আজকাল সাধারণ মনে হচ্ছে। একটি জাভাস্ক্রিপ্ট ভেরিয়েবলে ডেটা থাকা, রেন্ডারিং কোডের দুটি পৃথক বিট (অর্থাত্ ক্লায়েন্ট এবং সার্ভার) না রেখেই দ্বিতীয় এইচটিটিপি অনুরোধের প্রয়োজনীয়তা হ্রাস করে।
মাইক এম লিন

ওহ আমি দেখতে পাচ্ছি যে আপনার সার্ভারটি আগে থেকে কার্টে কী রাখবে তা জানার জন্য যথেষ্ট উন্নত নয়;)।
প্লী

1

আমি মনে করি আপনি উভয়ের ভাল-বুদ্ধি সম্পর্কে কথা বলেছেন। আপনার লাইটবক্সের জাভাস্ক্রিপ্টটি জ্যাঙ্গো ভিউ থেকে উত্পন্ন করার কোনও তৃতীয় বিকল্প কেন দেখছেন না। তারপরে আপনার জেএসওএনটিতে প্রতিটি দর্শনের জন্য এটি আপডেট করার জন্য কেবল ডেটা রয়েছে?

আপনি যা করতে সক্ষম হবেন তা হ'ল সমস্ত টেম্প্লেটিং কোডটিকে জাভাস্ক্রিপ্ট ভেরিয়েবলগুলিতে মুড়ে ফেলা এবং তারপরে ক্লায়েন্টের পক্ষে জেএসএন অনুরোধ পাওয়ার পরে জাভাস্ক্রিপ্টের সাথে সেগুলি আউটপুট করুন।


জবাবের জন্য ধন্যবাদ. এটি আসলে আমি 1 বিকল্পটি বোঝাতে চেয়েছিলাম a একটি ধারক হিসাবে লাইটবক্সটি পৃষ্ঠাতে পুড়ে যাবে তবে লুকানো থাকবে। এজ্যাক্স অনুরোধ থেকে জেএসএন ডেটা ধারকটিতে সামগ্রী তৈরি করতে ব্যবহৃত হবে। এই লিখিত সামগ্রীর কিছু HTML ব্যবহার করে চিহ্নিত করা হবে। আপনি বিকল্প 1 কীভাবে ব্যাখ্যা করলেন? হতে পারে এটি আমার তৃতীয় বিকল্প হতে পারে ।
মাইক এম লিন

আমি এই স্ট্যাকওভারফ্লো.com/Qestions/6008908 /… এর লাইনে কিছু ভাবছিলাম তখন প্রাথমিক লোডের পরে JSON ব্যবহার করে ডেটা প্রতিস্থাপন করুন
রায়ান গিবনস

0

আপনার চিহ্নিতকরণের জন্য টেম্পলেট ইঞ্জিনটি ব্যবহার করা উচিত এবং মানগুলি সংরক্ষণ করার জন্য কোনও লুকানো ক্ষেত্র রাখা উচিত, যা আপনি নির্বাচক ব্যবহার করে নথিতে খুঁজে পেতে পারেন।

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