جواب درخواست ajax

پرسیده شده
فعالیت 1481 روز پیش
دیده شده 817 بار
0

سلام استاد همون جور که فرمودید اولین چیزی که داخل صفحه مقصد درخواست echo ، ajax بشود به عنوان پاسخ برگشت داده میشود یعنی بقیه کد های بعد اکو اجرا نمیشوند(درسته جمله ایی که گفتم؟ این کد ها تا زمان اولین اکو اجرا میشوند؟)

و قسمت دوم سوالم اینکه ایا میشه صفحه مقصد درخواست ajax همین صفحه ایی باشه که با js داریم درخواست ajax رو تنظیم میکنیم؟؟ و اگر این بشه بقیه کد های صفحه اجرا نمیشوند چون تا اولین اکو کد ها ظاهرا اجرا میشوند

من نتیجه گیریم اینه که حتما باید درخواست به صفحه دیگری برود درسته؟؟

فایل پیوست

علی حبیبی
علی حبیبی

26 فروردین 99

2
حذف شده

سلام.

تعریفتون یخورده اشتباهه!

درخواست سمت صفحه مقصد ارسال میشه، و صفحه ی مقصد هر چی خروجی تولید کنه رو برمیگردونه به درخواست دهنده ی ajax.

یعنی چی، برای مثال صفحه مقصد به شکل زیر هست:

<!DOCTYPE html>
<html>
<head>
	<title>title</title>
</head>
<body>
    any contents
</body>
</html>

تمام محتوای بالا بصورت خروجی برمیگرده. یا مثلا به شکل زیر:

<!DOCTYPE html>
<html>
<head>
	<title><?= $title ?></title>
</head>
<body>
    <?= $content ?>
</body>
</html>

یا به شکل زیر:

<?php
echo '<!DOCTYPE html>' . PHP_EOL;
echo '<html>' . PHP_EOL;
echo '<head>' . PHP_EOL;
echo '	<title>'. $title .'</title>' . PHP_EOL;
echo '</head>' . PHP_EOL;
echo '<body>' . PHP_EOL;
echo $content;
echo '</body>' . PHP_EOL;
echo '</html>' . PHP_EOL;

تمام خروجی تولید شده، برمیگرده. حتی صفحه ی مقصد میتونه یه فایل تکست باشه و ...

حتی اگر کد PHP خطایی تولید کنه، اون خطا هم بعنوان خروجی به درخواست دهنده ی ajax برمیگرده.

این مثالارو گفتم که بگم، ajax دقیقا مثل خود مرورگره، انگار یه مروگر توو دل مرورگر وجود داره که در بکگروند صفحه اجرا میشه، و درخواستی که ارسال میشه، هرگونه محتوایی در خروجی تولید بشه، به سمت درخواست ajax برمیگرده.

بنابراین شما نمیتونید توو صفحه ای که درخواست ajax مینویسید، همونجا هم درخواستو پاس بدید، چون تمام کدهای html و js صفحه و ... بعنوان خروجی برگشت داده میشه!

پس در نتیجه درخواست باید به صفحه ای اصطلاحا clean ارسال شود تا محتوای مد نظرتون رو تولید کنید.

فایل پیوست

محسن موحد

توسط

محسن موحد

26 فروردین 99