• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

وب سایت خود را بر پایه ajax بسازید. رفع اشکال ajax با زبان فارسی

Shahed

کاربر قدیمی پرشین تولز
تاریخ عضویت
30 ژوئن 2003
نوشته‌ها
7,289
لایک‌ها
34
محل سکونت
mt.cgi
به نقل از sixabat :
نه ali.js برای دریافت هست!

بابا اینکاره!!!!!!!!!!

قبل از خط
کد:
isiusjz.open('POST', 'post.php', true);

بنویس

کد:
isiusjz.onreadystatechange = Hideloading;


و در آخر آخر فایل ajax,js اینو اضافه کن
کد:
function Hideloading()
{
document.getElementById('stutus').style.display = 'none';
}
او ! خیلی کارت درسته علی ! :D
ببین ! بعضی موقه ها هست که یه پیغوم از طرف سرور باید جای اون لودینگه بیاد. مثلا خطا بده که چیزی ننوشتیم اونتو. این پیغوم پسخوما چجوری رد و بدل میشه؟ یعنی یه چیزی تو مای های ایننر اچ تی ام ال !
و دیگه اینکه فیلد های بیشتر چطوری میشه اضافه بشه بهش؟
 

ODE112

کاربر قدیمی پرشین تولز
تاریخ عضویت
24 مارس 2006
نوشته‌ها
1,400
لایک‌ها
1,288
محل سکونت
aquarium
به نقل از Shahed :
او ! خیلی کارت درسته علی ! :D
ببین ! بعضی موقه ها هست که یه پیغوم از طرف سرور باید جای اون لودینگه بیاد. مثلا خطا بده که چیزی ننوشتیم اونتو. این پیغوم پسخوما چجوری رد و بدل میشه؟ یعنی یه چیزی تو مای های ایننر اچ تی ام ال !
و دیگه اینکه فیلد های بیشتر چطوری میشه اضافه بشه بهش؟
eeee
باشه اینم آخریش
39.gif


در فایل ajax.js خوب
کد:
isiusjz.send('message='+document.getElementById('text').value);
اینجا گفتیم که محتوای فیلد تکست رو با نام مسج پست کنه که با پی اچ پی اینطوری میگیریمش $_POST['message']

حالا اگه مثلا یک فیلد دیگه به این شکل داشته باشیم
<input type="text" id="twice" value="hello word">

خطی که گفتم اینجوری میشه اینگار که میخوای GET تعریف کنی!
کد:
isiusjz.send('message='+document.getElementById('text').value+'&&shahed='+document.getElementById('twice').value);

که تو php با $_POST['shahed' میگیرش


دیگه آموزش نمیدم کافیه! الان با همین اطلاعات میشه سایتی مثل هوم پیج یاهو یا هوم پیج خودم بسازید
159.gif
159.gif
159.gif
 

Shahed

کاربر قدیمی پرشین تولز
تاریخ عضویت
30 ژوئن 2003
نوشته‌ها
7,289
لایک‌ها
34
محل سکونت
mt.cgi
اسپشال تنکس فور یو علی !
ولی حال داشتی اینم بگو :D
ببین ! بعضی موقه ها هست که یه پیغوم از طرف سرور باید جای اون لودینگه بیاد. مثلا خطا بده که چیزی ننوشتیم اونتو. این پیغوم پسخوما چجوری رد و بدل میشه؟ یعنی یه چیزی تو مای های ایننر اچ تی ام ال !
 

ODE112

کاربر قدیمی پرشین تولز
تاریخ عضویت
24 مارس 2006
نوشته‌ها
1,400
لایک‌ها
1,288
محل سکونت
aquarium
به نقل از Shahed :
اسپشال تنکس فور یو علی !
ولی حال داشتی اینم بگو :D
چشم قربان!
ببین آقا شاهد اصلا قرار نیست با POST چیزی دریافت کنیم اسمش با خودشه پست!
تو پست میفرستیم فقط چیزی نمیگیریم!
مثلا Header میفرستیم
اینجوری میتونی هیدر اضافه کنی به پستت
کد:
isiusjz.setRequestHeader("Shahed", "esmesh shahede, karbare active movable type");
از دستورای همون GET باید زد قاطی این! (چشمک)
 

shankimout

Registered User
تاریخ عضویت
17 می 2004
نوشته‌ها
1,524
لایک‌ها
3
محل سکونت
ساری . . . . . . . . . . . . . . Permanently Bann
یه توصیه پدرانه : برای POST کردن کوییری های که بلند هست حتما از json و serializer استفاده کنید
 

ODE112

کاربر قدیمی پرشین تولز
تاریخ عضویت
24 مارس 2006
نوشته‌ها
1,400
لایک‌ها
1,288
محل سکونت
aquarium
تائید میشه
39.gif
 

hba

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
8 آگوست 2004
نوشته‌ها
1,511
لایک‌ها
1
سن
40
محل سکونت
تهران-ونک-php-mysql
ممنون
تو چقدر اواتور عوض می کنی؟
 

mohsenshahbazi

همکار بازنشسته
کاربر فعال
تاریخ عضویت
21 ژوئن 2004
نوشته‌ها
4,025
لایک‌ها
3,825
محل سکونت
اصفهان
اوووه چه قدر زیاد شد :d

ایول ...ممنون !
 

gavbandy

Registered User
تاریخ عضویت
15 فوریه 2005
نوشته‌ها
364
لایک‌ها
3
شما که خیلی چیز بلدی همشم درسته ( البته اینا همه میدونن)
به این سوال من جواب بده.
از کجا متوجه بشیم که طرف الان آنلاین هستش یا آفلاین .
البته یه روش خودم بلدم که حتما نیازمنده اینه که طرف بروزرش را روی work ofline تنظیم کنه تا متوجه بشیم.
اما اگه اینکار را نکنه روشی برای تشخیص الان بودم سراغ داری؟
 

Shahed

کاربر قدیمی پرشین تولز
تاریخ عضویت
30 ژوئن 2003
نوشته‌ها
7,289
لایک‌ها
34
محل سکونت
mt.cgi
به نقل از gavbandy :
شما که خیلی چیز بلدی همشم درسته ( البته اینا همه میدونن)
به این سوال من جواب بده.
از کجا متوجه بشیم که طرف الان آنلاین هستش یا آفلاین .
البته یه روش خودم بلدم که حتما نیازمنده اینه که طرف بروزرش را روی work ofline تنظیم کنه تا متوجه بشیم.
اما اگه اینکار را نکنه روشی برای تشخیص الان بودم سراغ داری؟
نمیشه تنظیم کرد با settimeout به سرور یه کدی که از روی سرور بهش تعلق میگیره رو بفرسته بعد اگه یه مدت اون کد فرستاده نشد بگیم آفلاینه؟
 

byvafa

کاربر تازه وارد
تاریخ عضویت
7 آپریل 2005
نوشته‌ها
175
لایک‌ها
0
aga ali terkoondy
aga in vorody haye form ke gozashten chetory mishe bishtareshon kard ?
to kodha har cheghadr taghir dadam nashod ... !
 

mohammad_p30

Registered User
تاریخ عضویت
18 مارس 2006
نوشته‌ها
553
لایک‌ها
5
محل سکونت
system32
اول بايد يه تشكر از شما به خاطر تمام آموزش هاي ajax بكنم . واقعا عالي بود.:)
اما من در فارسي نويس مشكل دارم وقتي اين كد رو مي زارم
PHP:
<?php
header('Content-Type: text/html; charset=utf-8');
?>
يه ارور مي ده (صفحه اصلي)
کد:
Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\xampp\htdocs\pt\index.php:3) in C:\Program Files\xampp\htdocs\pt\index.php on line 4
كه خط 4 همون كد header پي اچ پي هست و اون صفحه اي كه بايد لود بشه هم ارور مي ده ولي فارسي درست نشون مي ده اما ارور هم بالاش هست :wacko:
کد:
Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\xampp\htdocs\pt\h1.php:1) in C:\Program Files\xampp\htdocs\pt\h1.php on line 2
 

gavbandy

Registered User
تاریخ عضویت
15 فوریه 2005
نوشته‌ها
364
لایک‌ها
3
اول کد ت این کد را بزار
PHP:
ob_start( 'ob_gzhandler' );
در آخر کدت هم این کد را بزار
PHP:
ob_end_flush();
 

shikopick

کاربر تازه وارد
تاریخ عضویت
2 ژوئن 2005
نوشته‌ها
71
لایک‌ها
0
سلام بابا دمتون قیژ :D

یه سوال فنی :D

یه صفحه ساختم با سیستم زیر

------------------------------

<php>

1 < هدر - فایل زبان - وصل به دیتابیس >

2 < یه سری لینک که یه Query رو ارسال میکنه با آژاکس >

3 < یه مقدار Query لینکها رو میگیره و یه صفحه رو اینکلود میکنه >

4 < فوتر :d >

<php/>


-------------------------------


اگر روی لینکها Query رو به صفحه اصلی بفرستم مشکلی نداره صفحه تو قسمت 3 لود میشه

ولیییییی وقتی یه div تعریف میکنم تو قسمت 3 و Query رو به اون div ارسال میکنم صفحه رو لود میکنه ولی هیچ کدوم از چیزای قسمت 1 اینکلود نمیشه من برای سرعت بیشتر و یه سری خورده کاریا میخوام حتما تو div لود بشه بدون اینکه دوباره مجبور باشم فایلهای قسمت 1 رو دوباره اینکلود کنم

راهی هست بشه ؟ :D


خداییش خیلی با حال توضیح دادما :D زودی جواب بدید ببینم :blink:
 
بالا