- پارامتر url: مشخص کننده url مورد نظر است که میخواهیم دادههایی را به آنجا submit کرده و سپس response را دریافت کنیم.
- پارامتر data: همان داده ای است که قرار است به سمت سرور در قالب این request ارسال بشود.
- پارامتر سوم و یا callback: همان تابعی است که قرار است پس از اجرا شدن موفقیتآمیز request اجرا بشود.
- پارامتر type: نمایانگر data type مربوط به response می باشد.
حال برای درک هرچه بهتر متد post بهتر است آن را در قالب مثالی بررسی کنیم. مثالی که در قسمت زیر مشاهده می کنید نحوه استفاده کردن از متد post برای ارسال داده ها به سمت سرور و یا اصطلاحاً submit کردن آنها و سپس دریافت کردن response می باشد.
$.post('/jquery/submitData', // url
{ myData: 'This is my data.' }, // data to be submit
function(data, status, jqXHR) {// success callback
$('p').append('status: ' + status + ', data: ' + data);
})
<p></p>
در این مثال پارامتر اول نشانگر همان url مورد نظر است که قرار است http POST request به سمت آن ارسال و دادهها submit بگردند. پارامتر دوم داده های مورد نظر در قالب JSON هستند که در آنها key و value وجود دارد. در واقع key نام یک پارامتر و value مقدار درون آن پارامتر را نشان میدهد. پارامتر سوم یک callback function است که در زمان موفقیت آمیز بودن انجام عملیات http POST request اجرا خواهد شد. این callback function خود می تواند دارای سه پارامتر با نامهای data و status و jqXHR باشد و نهایتاً پارامتر data نمایانگر response مورد نظر است که از سمت سرور در پاسخ به این http POST request به ما تحویل داده میشود. جالب است بدانید که به صورت درونی متد post از متد ajax استفاده کرده و گزینه method را در قسمت options به مقدار post تنظیم میکند. مثالی که در قسمت زیر نیز مشاهده می کنید نحوه submit کردن داده ها با استفاده از متد post و سپس دریافت کردن response را نشان می دهد.
$.post('/submitJSONData', // url
{ myData: 'This is my data.' }, // data to be submit
function(data, status, xhr) { // success callback function
alert('status: ' + status + ', data: ' + data.responseData);
},
'json'); // response data format
لطفاً در مثال بالا دقت کنید که آخرین پارامتر نمایانگر type و یا نوع response data است. در این مثال ما از داده های JSON استفاده کرده ایم. بنابراین سرور به عنوان response دادههایی را در قالب JSON به ما تحویل میدهد. بنابراین متد post به صورت خودکار داده های موجود در response را به JSON تبدیل می کند. دیگر پارامترهای مربوط به این مثال دقیقاً شبیه به مثال قبل هستند. علاوه بر callback function پیش فرض در متد post می توان دو callback function دیگر با نامهای fail و done را به متد post اضافه کرد. این موضوع در قسمت زیر نشان داده شده است. $.post('/jquery/submitData',
{ myData: 'This is my data.' },
function(data, status, xhr) {
$('p').append('status: ' + status + ', data: ' + data);
}).done(function() { alert('Request done!'); })
.fail(function(jqxhr, settings, ex) { alert('failed, ' + ex); });
<p></p>
منبع:وبسایت پرووید