منظورتون از اینکه "محتویات ممکنه جدول باشن" چیه؟ شما به چه دلیلی باید یک table رو با انبوهی (؟) از row ها و cell ها به سمت سرور ارسال کنید؟ طبیعتا <td> و <tr> ها سمت سرور برای شما کاربردی ندارن. اما ممکنه منظورتون اطلاعات درون جدول باشه که در این صورت نیز شما (تقریبا همواره) نیازی به ارسال کل اطلاعات به سمت سرور نخواهید داشت. ممکنه یکی دو فیلد در هر یک (یا برخی از) ردیف های جدول براتون سمت سرور معنا داشته باشه، پس باید ابتدا اون مقادیر رو Filter کرد، سپس اونها رو به سمت سرور ارسال کرد.
فیلتر کردن این مقادیر نیز در jQuery بسیار ساده هستش. فرض کنید قصد داریم تا اطلاعات cell های ستون دوم از جدول رو، فقط برای ردیف های زوج، بصورت آرایه به سرور ارسال کنیم. برای اینکار می تونیم بدین شکل عمل کنیم:
var array = $('#myTable tr:even td:nth-child(2)').map(function () {
return $(this).html();
}).get();
بدین ترتیب من مقادیر مورد نظر رو از جدول بصورت یک آرایه می گیرم. مرحله بعدی ارسال این آرایه به سمت سرور هستش که به راحتی میسره:
$.post("myFile.php", { 'myChoices[]': array });
بدین ترتیب آرایه مورد نظر با اعداد مد نظرمون به سمت سرور ارسال میشه...
همونطوریکه میبنید، در این مثال نیازی به استفاده از JSON نبود و مقادیر بصورت آرایه به سمت سرور ارسال میشن. اما اگر فرض کنیم که علاوه بر این آرایه، باید اطلاعات دیگری رو هم به سرور ارسال کنیم، در اون صورت میتونیم از متود post بدین شکل استفاده کنیم (مثال زیر از سایت jQuery کپی شده):
$.post("test.php", { name: "John", time: "2pm" } );
همونطوریکه می بینید، اینجا من name و time رو بصورت جداگانه و بصورت یک JSON Object دارم به سمت سرور ارسال می کنم... بنابراین، کافیه تا شما اطلاعات مورد نیاز رو بصورت یک JSON Object در بیارید، سپس اونو با دستور (بطور مثال) post به سرور پست کنید.
موفق باشید.
سلام.
تعداد توابعی اهمیتی نداره، مهم فهم اصل مطلب هستش، اینکه JSON چیه و چطوری میشه ازش استفاده کرد. حالا اینکه 2 تا تابع در jQuery وجود داره که JSON Object بگیره یا بیشتر، اهمیتی نداره.
مشکل شما JSON نیست، بیشتر JavaScript و jQuery هستش. آیا شما می دونید
- getJSON چیه؟ چه فرقی با post و get داره؟ و این دو چه ارتباطی با متود ajax دارن؟
- چطوری باید Property های یک Object رو خوند و چه Syntax هایی برای خوندن اونها وجود داره؟
- آیا با متود each در jQuery کاملا آشنا هستید؟ می دونید که میشه با این متود property های یک JSON Object رو بدست آورد؟
- چطور میشه یک JSON String رو به JSON Object تبدیل کرد (و بالعکس) و بصورت Cross Browser؟
- آیا با ابزارهای سمت سرور برای پردازش / تولید JSON Object ها آشنایی دارید؟
- و ...
هر سوالی در این زمینه دارید لطفا دقیق و روشن مطرح کنید، تا بهش پاسخ بدم (لطفا از طرح سوالات کلی پرهیز کنید).
موفق باشید.
عجب !
آقای موسوی من می گم JSON چیه و یه مقاله بهم معرفی کنید که JSON رو یاد بگیرم ولی شما این همه سوال از من می پرسید !
خب من از کجا بدونم "چطور میشه یک JSON String رو به JSON Object تبدیل کرد" و بقیه سوالها رو.
من با جاوا اسکریپت و آژاکس آشنا هستم ولی جی کوئری بلد نیستم. منظورتون از این سوالها اینه که باید جی کوئری رو یاد بگیرم؟
نمی شه بدون جی کوئری از JSONاستفاده کرد؟
سلام.
ببخشید، من گمان کردم سوال شما در بخش jQuery مطرح شده (دقت نکرده بودم)، به همین دلیل اون سوالات رو در ارتباط با jQuery مطرح کردم. و الا منظورم این نبود که برای فهم JSON باید jQuery رو یاد بگیرید. ابدا اینطور نیست. اما در مورد مقاله، شما می تونید به این مقالات رجوع کنید:
- مقدمه ای بر JSON در JavaScript و .NET
- ویدئوی مقدمه ای بر JSON توسط Drew Wilson
- مقدمه ای بر JSON (و نحوه استفاده از اون در C، C++، C#، Java، PHP و ...)
- مقدمه بر JSON توسط Wally McClure
موفق باشید.
سلام به شما عزیزان من یک سایت رو طراحی کردم الان میخوام نرم افزار اندروید اون رو هم طراحی کنم اما الان اون طوری که سوال کردم باید از وب سرویس استفاده کنم من هم هیچ اطلاع خاصی از نحوه طراحی اون ندارم میشه راهنمایی کنید