جالب است بدانید که پس از submit شدن داده ها با استفاده از متد post پاسخ و یا response را نیز می توانید دریافت کنید. کدی که در قسمت زیر مشاهده می کنید syntax مربوط به استفاده کردن از متد post و پارامترهای مختلف آن را نشان میدهد.
[snippet]
$.post(url,[data],[callback],[type]);
[/snippet]
حال در رابطه با پارامترهای این متد کمی با یکدیگر صحبت خواهیم کرد.
حال برای درک هرچه بهتر متد 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>
منبع: وبسایت پرووید