ورود

View Full Version : سوال: تعداد پارامترهای متدهای $.post و $get



ravand
یک شنبه 12 آبان 1392, 13:10 عصر
سلام
چرا سایت w3schools هر جایی که این متد های $.post و $.get رو معرفی کرده. تعداد پارامترهاش متفاوت هست؟ یه جا گفته مثلاً سه تا پارامتر داره یه جا گفته چهار تا!
آخرش چند تا پارامتر دارن؟ کدوم یکیش صحیحه؟
http://www.w3schools.com/jquery/jquery_ajax_get_post.asp

$.get(URL,callback);

$.post(URL,data,callback);
و این صفحه:
http://www.w3schools.com/jquery/ajax_get.asp

$.get(URL,data,function(data,status,xhr),dataType)
http://www.w3schools.com/jquery/ajax_post.asp

$(selector).post(URL,data,function(data,status,xhr ),dataType)
متشکرم.

zootos
یک شنبه 12 آبان 1392, 13:25 عصر
عزیز جان همشون درستن
پلی موفیسم نوشته شده یعنی میتونی بعضی از پارامتر ها رو وارد نکنی و خودش برای خودش پیش فرض داره .

ravand
یک شنبه 12 آبان 1392, 13:32 عصر
پلی موفیسم یعنی چند شکلی ، چند ریختی. منظور شما اینه که این چند تا شکله؟
ولی من جاهای دیگه رو که دیدم متدهای زیادی رو که معرفی کرده. امده همه ی ساختارها رو هم معرفی کرده. من تعجب کردم که اینا رو جداگانه توضیح داده.
خب پس به این نتیجه می رسیم که الان مثلا این متد $.post دو تا ساختار داره درسته:

$.post(URL,data,callback);

$(selector).post(URL,data,function(data,status,xhr ),dataType)
منظورتون همین بود دیگه؟

jalil_gh
یک شنبه 12 آبان 1392, 21:04 عصر
تو این دو متد بعضی از پارامترها اختیاریه.
سری به api.jquery.com بزنید. اونجا همه متدهای جی‌کوئری با تمام جزئیات شرح داده شده.

ravand
یک شنبه 12 آبان 1392, 21:16 عصر
تو این دو متد بعضی از پارامترها اختیاریه.
سری به api.jquery.com بزنید. اونجا همه متدهای جی‌کوئری با تمام جزئیات شرح داده شده.
خب این موضوع رو من میدونستم . توی خود سایت هم ذکر کرده.
شما سوال آخری منو جواب ندادید.

jalil_gh
دوشنبه 13 آبان 1392, 11:56 صبح
ما تو جاوااسکریپت چیزی به نام پلی‌مورفیسم به اون صورتی که تو جاوا یا #C هست نداریم. تو اون زبان ها برای هر تابع با آرگومان‌های مختلف، توابع جداگانه‌ایی تعریف می‌شه. این امکان در جاوااسکریپ وجود نداره. یعنی شما اگه دو تابع تعریف کنید که فقط تو آرگومان‌ها با هم متفاوت باشن فقط تابع آخری لحاظ میشه.
تو جاوااسکریپت ارسال آرگومان به توابع اختیاریه و داخل توابع با استفاده از متغیر arguments به همه آرگومان‌ها می‌تونیم دسترسی داشته باشیم.
داخل متدی مثل post.$ بررسی میشه که چه آرگومان‌های به این تابع ارسال شده و بر اساس نوع و تعداد آرگومان‌های ارسالی کارهای خاصی انجام می‌شه.
با این اوصاف به این نتیجه می‌رسیم که متدی مثل post.$ فقط یک ساختار داره.

ravand
دوشنبه 13 آبان 1392, 12:42 عصر
حالا از این حرف ها که بگذریم. اگه یکی به شما بگه بین این دو تا ساختار کدوم رو انتخاب می کنید ؟ شما کدوم رو انتخاب میکنید؟

$.post(URL,data,callback);

$(selector).post(URL,data,function(data,status,xhr ),dataType)

2undercover
دوشنبه 13 آبان 1392, 14:39 عصر
اصلا من چیزی به شکل چیزی که شما تو قسمت دوم گذاشتید ندیدم و وقتی امتحانش کردم خطا داد!

استفاده به اون شکل از متد load استفاده میشه که مقدار برگشتی از اون صفحه رو توی اون شئ که توسط Selector انتخاب شده نمایش میده.

ravand
دوشنبه 13 آبان 1392, 14:52 عصر
اصلا من چیزی به شکل چیزی که شما تو قسمت دوم گذاشتید ندیدم و وقتی امتحانش کردم خطا داد!

استفاده به اون شکل از متد load استفاده میشه که مقدار برگشتی از اون صفحه رو توی اون شئ که توسط Selector انتخاب شده نمایش میده.

مطمئنید که ندیدید؟؟
پس این چیه که من اول گذاشتم؟
http://www.w3schools.com/jquery/ajax_post.asp

2undercover
دوشنبه 13 آبان 1392, 15:05 عصر
مطمئنید که ندیدید؟؟
پس این چیه که من اول گذاشتم؟
http://www.w3schools.com/jquery/ajax_post.asp

1. توی سایت Jquery API Documents (http://api.jquery.com) که مستندات رسمی jQuery هست گشتم نبود!

2. من حتی امتحان هم کردم ولی جواب نمیده!

ravand
دوشنبه 13 آبان 1392, 16:33 عصر
1. توی سایت Jquery API Documents که مستندات رسمی jQuery هست گشتم نبود!

2. من حتی امتحان هم کردم ولی جواب نمیده!
والله چی بگم! این سایت w3schools هم خیر سرش یه سایت معروفیه. ولی یک مثال برای اون ساختار دومی که ازش حرف زده نذاشته! یعنی نظر شما اینه که اشتباه کرده؟ :متفکر:

Javidhb
دوشنبه 13 آبان 1392, 19:03 عصر
شما بجای ()post. و ()get. از ()ajax. (http://api.jquery.com/jQuery.ajax/) استفاده کنید... چون اینا هم میرن ()ajax رو صدا میزنن...

اینجوری کارتون راحتتر و قدرت مانورتون(!) هم بیشتر میشه...(در صورت بروز ارور، قبل از فرستادن اطلاعات و ... کارهای مربوطه رو انجام بدید)


من خودم امتحان نکردم اما طبق مستندات jquery (http://api.jquery.com/jQuery.post/) کد دومی هم درسته...

jQuery.post( url [, data ] [, success(data, textStatus, jqXHR) ] [, dataType ] )


طبق گفته خودشون: اونجایی که شما function نوشتی در واقع تابعی هست که در صورت موفقیت آمیز بودن عملیات اجرا میشه.

ravand
دوشنبه 13 آبان 1392, 19:35 عصر
شما بجای ()post. و ()get. از ()ajax. (http://api.jquery.com/jQuery.ajax/) استفاده کنید... چون اینا هم میرن ()ajax رو صدا میزنن...

اینجوری کارتون راحتتر و قدرت مانورتون(!) هم بیشتر میشه...(در صورت بروز ارور، قبل از فرستادن اطلاعات و ... کارهای مربوطه رو انجام بدید)


من خودم امتحان نکردم اما طبق مستندات jquery (http://api.jquery.com/jQuery.post/) کد دومی هم درسته...

jQuery.post( url [, data ] [, success(data, textStatus, jqXHR) ] [, dataType ] )


طبق گفته خودشون: اونجایی که شما function نوشتی در واقع تابعی هست که در صورت موفقیت آمیز بودن عملیات اجرا میشه.

من مشکلی از لحاظ استفاده با این متد ها نداشتم من فقط میخواستم بدونم که آیا این متدها هر کدوم دو تا ساختار دارن یا نه؟ همین.
الان توی این دو تا ساختار چیزی که اضافه شده پارامتر dataType هست . و مقادیری که این پارامتر میگیره:

function(data,status,xhr)

2undercover
دوشنبه 13 آبان 1392, 20:40 عصر
شما بجای ()post. و ()get. از ()ajax. (http://api.jquery.com/jQuery.ajax/) استفاده کنید... چون اینا هم میرن ()ajax رو صدا میزنن...

اینجوری کارتون راحتتر و قدرت مانورتون(!) هم بیشتر میشه...(در صورت بروز ارور، قبل از فرستادن اطلاعات و ... کارهای مربوطه رو انجام بدید)


من خودم امتحان نکردم اما طبق مستندات jquery (http://api.jquery.com/jQuery.post/) کد دومی هم درسته...

jQuery.post( url [, data ] [, success(data, textStatus, jqXHR) ] [, dataType ] )


طبق گفته خودشون: اونجایی که شما function نوشتی در واقع تابعی هست که در صورت موفقیت آمیز بودن عملیات اجرا میشه.

بله این درست هست ولی اینکه متد post برای اشیا HTML هم وجود داشته باشه اشتباه هست!

ravand
جمعه 17 آبان 1392, 09:31 صبح
تنها این دو متد نیستن. اصلا توضیحی که سایت http://api.jquery.com/ میده با توضیحی که سایت w3schools.com میده فرق داره چرا؟
مثلا: این متد queue توضیحاتش در این دو سایت رو ببینید:
http://www.w3schools.com/jquery/eff_queue.asp
http://api.jquery.com/queue/#queue-queueName-callback-next-
به ساختاری که این دو سایت گذاشتن توجه کنید.