افزونه آژاکس بدرستی کار نمیکنه
#1
Photo 


دوستان عزیز با راهنمایی شما مشکل حل شدو باید همون یک خط 



header("Access-Control-Allow-Origin: *");



رو اضافه میکردم. و حالا میتونم وقتی از داخل کانستراکت بطور لوکال اجرا میکنم هم رکوردمو در هاستم ذخیره کنم.



حالا دوستانی که نمیدونن قضیه چیه بد نیست سوال من رو بخونن و جوابها رو هم مطالعه کنن و به تجربیاتشون مثل خود من اضافه بشه

از همه شما سپاسگذارم 54 54 54



سلام دوستان

من یک بازی ساختم و طبق آموزش جدول برترین امتیازات که در سایت هست پیش رفتم و هم امتیاز رو میتونم در سرور ذخیره کنم و هم جدول رو نشون بدم.
اما مشکل اینجاس که هر وقت با آژاکس یک رکورد ثبت میکنم یا به اصطلاح postUrl میکنم. بجای اینکه onComplete فراخوانی بشه تقریبا همیشه onError فراخوانی میشه. با اینکه به درستی هم ثبت میشه!!! 

این دیزاین صفحه ای هست که بعد از اتمام بازی فرد میتونه رکوردشو ثبت کنه:

[تصویر:  q1.png]


این هم کد پشت صفحه این صفحه:

[تصویر:  q2.png]

این هم دیالوگ مربوط به ارسال رکورد آژاکس:

[تصویر:  q3.png]
ممنون میشم کسی راهنمایی کنه. درسته که برنامم کارمیکنه اما اینکه تقریبا همیشه این بخش خطای آژاکس فراخوانی میشه رو اعصابمه
در لینک زیر هم میتونید ویدیوی نحوه عملکرد  همین بخش از برنامم رو ببینید
دانلود ویدیو



یا علی

فکر میکنم جواب مشکل رو بدست آوردم. روقتی از داخل محیط کانستراکت بازی رو اجرا میکنم این مشکل هست ولی وقتی در سایتم  آپلودم بازی رو مشکل برطرف شد.
  پاسخ


 سپاس شده توسط:
#2
(1395/7/26، 10:16 صبح)pikazho نوشته است: سلام دوستان

من یک بازی ساختم و طبق آموزش جدول برترین امتیازات که در سایت هست پیش رفتم و هم امتیاز رو میتونم در سرور ذخیره کنم و هم جدول رو نشون بدم.
اما مشکل اینجاس که هر وقت با آژاکس یک رکورد ثبت میکنم یا به اصطلاح postUrl میکنم. بجای اینکه onComplete فراخوانی بشه تقریبا همیشه onError فراخوانی میشه. با اینکه به درستی هم ثبت میشه!!! 

این دیزاین صفحه ای هست که بعد از اتمام بازی فرد میتونه رکوردشو ثبت کنه:

[تصویر:  q1.png]


این هم کد پشت صفحه این صفحه:

[تصویر:  q2.png]

این هم دیالوگ مربوط به ارسال رکورد آژاکس:

[تصویر:  q3.png]
ممنون میشم کسی راهنمایی کنه. درسته که برنامم کارمیکنه اما اینکه تقریبا همیشه این بخش خطای آژاکس فراخوانی میشه رو اعصابمه
در لینک زیر هم میتونید ویدیوی نحوه عملکرد  همین بخش از برنامم رو ببینید
دانلود ویدیو



یا علی

فکر میکنم جواب مشکل رو بدست آوردم. روقتی از داخل محیط کانستراکت بازی رو اجرا میکنم این مشکل هست ولی وقتی در سایتم  آپلودم بازی رو مشکل برطرف شد.

دوست عزیز بنده جدیدا یه موضوع ایجاد کردم و باگ هایی که بوجود میاد پس از استفاده از آموزش های سایت توی زمینه ی بازی های آنلاین رو توی اون تحلیل کردم فعلا فقد مسله ای که شما الان بیانش کردین جوابش رو در آوردم و آموزششم ساختم
لطفا این لینک رو ببینید و در بحث ما شرکت کنید و تا آخر موضوعو بخونین تا بعدش به مشکلی برنخورین(فیلم آموزشی این مسله رو توی صفحه ی دو تاپیک درست کردم و گذاشتم امیدوارم مورد استفاده قرار بگیره)
همچنین می تونین از این لینک استفاده کنین:
لینک آموزش
تو می تونی همین الان با دریافت رایگان "اینشب نت" با حجم 2.5 مگابایت از ما حمایت کنی...حمایت های شما دلگرمی ماست
[تصویر:  download_1_.png]
[تصویر:  download.png]
  پاسخ


 سپاس شده توسط:
#3
ممنون از پاسختون، البته من هاستم رایگان نیست و هاست و دامین خریداری کردم.
  پاسخ


 سپاس شده توسط:
#4
(1395/7/26، 06:20 عصر)pikazho نوشته است: ممنون از پاسختون، البته من هاستم رایگان نیست و هاست و دامین خریداری کردم.

خب اشتباه کردین.................
الان شما خودتو بکشی هم رو اون هاست نمی تونی کاری انجام بدی و پلاگین آجاکس رو اون هاست کار نمی کنه.....
پس برو از xzn استفاده کن مگو چیست استفاده کن
تو می تونی همین الان با دریافت رایگان "اینشب نت" با حجم 2.5 مگابایت از ما حمایت کنی...حمایت های شما دلگرمی ماست
[تصویر:  download_1_.png]
[تصویر:  download.png]
  پاسخ


 سپاس شده توسط:
#5
باز دوباره اطلاعات اشتباه 22

چی به شما بگم من آخه ، آقا نمیتونید کمک کنید حرف اضافه نزنید 22

آقای مدیر باز نیاید به من اخطار بدید ، برید به کسایی که یک سره اسپم الکی میدن اخطار بدید .

========= و در جواب شما اولین چیزی که به ذهنم رسید این عکس هست :
[تصویر:  q3.png]

دوست عزیز چرا فاصله ما بین " " ها گذاشتید ؟
نباید حتی ی نیم فاصله هم باشه ، یکی دیگه از دوستان هم مشکل شمارو داشتن با برداشتن فاصله حل شد مشکلشون :
یعنی باید به این صورت باشه لینکتون :
youdomin.ir/file.php?name="&username&"&score="&score


شما با ی فاصله هم کار رو خراب میکنید ... . موفق باشید .
  پاسخ


 سپاس شده توسط: shaygaaan ، vng
#6
(1395/7/26، 06:55 عصر)ARMAN_IRBAX نوشته است:
(1395/7/26، 06:20 عصر)pikazho نوشته است: ممنون از پاسختون، البته من هاستم رایگان نیست و هاست و دامین خریداری کردم.

خب اشتباه کردین.................
الان شما خودتو بکشی هم رو اون هاست نمی تونی کاری انجام بدی و پلاگین آجاکس رو اون هاست کار نمی کنه.....
پس برو از xzn استفاده کن مگو چیست استفاده کن

سلام
دوست عزیز شما امتحان کردی؟
الان صد ها نفر از هاست پولی استفاده میکنند ! (یکیش خودم )
بازم میگم که دلیل استفاده از هاست رایگان در آموزش ها برای اینه که همه بتونن یاد بگیرند ! (آموزش های خودمم هم اینجوریه + نفرات بسیار دیگه.......)

دلیل این ارسال هم اسپم نبود !
تنها هدف من از این ارسال این بود که حرف شما رو اصلاح کنم ! یعنی این که کسانی که میخوان هاست بگیرند برن بگیرند !
مشکلی هم که شما گفتید چاره اش یه خط ! (اگه وجود داشته باشه)
کد:
header('Access-Control-Allow-Origin: *');
هاست های رایگان هم نمیشه اعتماد کرد بهشون
یکسره قطعی دارند.
شما 1000 نفر بازیتو دان کنند و استفاده کنند هاست فردا ساسپند میشه و همه ی اطلاعاتتون میره هوا..........(هاست های رایگان)
غایب
  پاسخ


 سپاس شده توسط: vng ، hasansanaei ، Mojtaba ، pikazho
#7
(1395/7/26، 08:04 عصر)shaygaaan نوشته است:
(1395/7/26، 06:55 عصر)ARMAN_IRBAX نوشته است:
(1395/7/26، 06:20 عصر)pikazho نوشته است: ممنون از پاسختون، البته من هاستم رایگان نیست و هاست و دامین خریداری کردم.

خب اشتباه کردین.................
الان شما خودتو بکشی هم رو اون هاست نمی تونی کاری انجام بدی و پلاگین آجاکس رو اون هاست کار نمی کنه.....
پس برو از xzn استفاده کن مگو چیست استفاده کن

سلام
دوست عزیز شما امتحان کردی؟
الان صد ها نفر از هاست پولی استفاده میکنند ! (یکیش خودم )
بازم میگم که دلیل استفاده از هاست رایگان در آموزش ها برای اینه که همه بتونن یاد بگیرند ! (آموزش های خودمم هم اینجوریه + نفرات بسیار دیگه.......)

دلیل این ارسال هم اسپم نبود !
تنها هدف من از این ارسال این بود که حرف شما رو اصلاح کنم ! یعنی این که کسانی که میخوان هاست بگیرند برن بگیرند !
مشکلی هم که شما گفتید چاره اش یه خط ! (اگه وجود داشته باشه)
کد:
header('Access-Control-Allow-Origin: *');
هاست های رایگان هم نمیشه اعتماد کرد بهشون
یکسره قطعی دارند.
شما 1000 نفر بازیتو دان کنند و استفاده کنند هاست فردا ساسپند میشه و همه ی اطلاعاتتون میره هوا..........(هاست های رایگان)

این خطی که نوشتی توی اون نرم افزاری که اقا مجتبی درست کردن خودکار توی فایل تکست بوجود میاد پس مشکل از اون نیس...
(فایل تکستی که محتواش رو توی my php admin------>sqlکپی می کنیم اگر دقت کرده باشید توی کد های پی اچ پی وارد شده این متن هست)
مشکل از ساپورت کردن هاست از شی آجاکسه.........
بعدش هاستxzn.irبا اینکه رایگانه ولی بیس گیگ ظرفیت داده بت که تو می تونی بگی همه ی اون هزار نفر نتونن وارد کنن امتیازشونو توی جدولمون می تونی بگی مثلا امتیازشون به یه حدی که رسید بتونن وارد کنن.....
من یه هاست بی نهایت پیدا کردم اتفاقا فارسی زبان م هست ولی متاسفانه ساپورت نمی کنه اجاکسو......
webpi.ir
درضمن من امتحان نکردم ولی کسی که موضوعو ایجاد کرده امتحان کرده و نشده.........
(همچنین بنده اینقد سر این موضوع با کانستراکت و انجمن و موضوعات دوستان و جواباشون یکی به دو کردم که الان دقیقا می دونم چن تا موضوع در این باره ایجاد شده پس مطمن باشید راهی که می گم درسته..............)
تو می تونی همین الان با دریافت رایگان "اینشب نت" با حجم 2.5 مگابایت از ما حمایت کنی...حمایت های شما دلگرمی ماست
[تصویر:  download_1_.png]
[تصویر:  download.png]
  پاسخ


 سپاس شده توسط:
#8
بلعکس ، چیزی که گفتید کاملا اشتباه بود 22

و همونطور که شایگان عزیز فرمودند | تازه اگر مشکل داشت ... از اون یک خط استفاده بشه مشکل حل میشه ...

موفق باشید .
  پاسخ


 سپاس شده توسط: shaygaaan ، pikazho
#9
سلام، راهی که کاربران حسام3 و شایگان بیان کردند درست است منتها موارد دیگری را هم بنده اضافه خواهم کرد متدی که شما استفاده کرده اید در اصل متد GET هست در حالیکه در متد post باید اطلاعات را در کادر Data وارد نمائید و تنها url اصلی را در بخش url  باقی بگذارید(از عبارت php به بعد را در بخش Data قرار بدهید و ان علامت سوال را هم حذف کنید)

این مورد خود میتواند مشکل ایجاد کرده باشد چون شما در کادر متد نوشته اید post اما اطلاعات را در حالت get ارسال میکنید...

البته بسیار بهتر خواهد بود که برای ارتباط با جدول از متد post استفاده کنید چرا که در حالت get نتیجه اطلاعات معمولاً در cache قرار میگیرد به همین علت اطلاعات ارسال یا دریافت میشود اما آجاکس نتیجه را غلط نشان میدهد!

مورد بعدی که باید رعایت کنید درج نام سرور در فایل php هست که معمولاً بر خلاف هاست های رایگان باید بنویسید localhost رعایت نکردن این مورد هم میتواند مشکلات زیادی به وجود بیاورد....
--------------\\\\\\\\\\*******\\\\\\\\---------------------------\\\\\\\\\\**********\\\\\\\---------
[تصویر:  vngames_mobarez.png]


*«يَرْفَعِ اللَّهُ الَّذِينَ آمَنُوا مِنْكُمْ وَ الَّذِينَ أُوتُوا الْعِلْمَ دَرَجاتٍ//خداوند کسانی را که ایمان آورده اند و کسانی را که دانش به آنان عطا شده است.درجات عظیمی می بخشد.»(قرآن کریم، المجادلة، 11 ‏)*

*پیامبر اکرم (ص) فرمود:«علم آموزي بر هر مرد و زن مسلمان، واجب است.»(مصباح‏ الشريعة، ج 13)
  پاسخ


 سپاس شده توسط: shaygaaan
#10
بسم الله الرّحمن الرّحیم

سلام. این که شما گفتید بعد از آپلود روی هاست درست کار می‌کنه، پس به احتمال زیاد مشکل شما فقط از Cross Origin است نه چیز دیگه. به خاطر اطمینان از این موضوع می‌توانید هنگام تست با مرورگر کلید F12 رو بزنید تا DevTools مرورگر باز شود. بعد امتیاز رو ثبت کنید و ببینید در قسمت Console چه خطایی را نشان می‌دهد.

حالا این به چه معناست؟
یعنی به دلایل امنیّتی مرورگرها اجازه نمی‌دهند به دامنه‌ای غیر از دامنه‌ی صفحه‌ی خودمان درخواست آجاکسی ارسال کنیم. یعنی یک سایت نمی‌تواند به یک سایت دیگر درخواست بفرستد، مگر این‌که خود اون سایت این اجازه رو بدهد. این اجازه دادن می‌تونه توسّط ارسال یک header توسّط وب‌سرور انجام بشود. حالا اگر به تنظیمات وب‌سرور دسترسی ندارید فقط کافیست در ابتدای فایل PHP این تابع رو بنویسید که این header رو ارسال کند (همون طور که آقا شایگان هم گفتند):
کد:
header("Access-Control-Allow-Origin: *");

پس شما کافیست که فایل save score را با یک ویرایشگر متنی مثل notepad ویرایش کنید و بعد از خطّ اوّل که نوشته شده است <?php یعنی در خطّ دوم این دستور رو بنویسید و save کنید.
در این دستور به جای ستاره (*) می‌توانید آدرس سایت مجاز رو هم بنویسید؛ این قسمت در اصل داره سایت‌های مجاز رو مشخّص می‌کنه و ستاره یعنی هر سایتی مجاز است به ما درخواست آجاکسی ارسال کند.

اگر نمی‌خواهید به تمام سایت‌ها این اجازه را بدهید و  این header را ارسال کنید می‌توانید برای تست از NW.js استفاده کنید. چون NW.js به اجازه‌ی سرور کاری ندارد و درخواست خودش را بدون هیچ مشکلی ارسال می‌کند. در نهایت بعد از آپلود روی سرور هم که هیچ مشکلی از این بابت نداریم، چون دامنه‌ها یکسان است و خودمان می‌توانیم به سایت خودمان درخواست بفرستیم.
معجزات طبیعت هایی هستند که با آن‌ها مأنوس نشده‌ایم
و طبیعت معجزه‌ایست که با آن انس گرفته‌ایم
علی صفایی حائری
  پاسخ


 سپاس شده توسط: vng ، shaygaaan ، pikazho


موضوع‌های مشابه…
موضوع نویسنده پاسخ بازدید آخرین ارسال
Information پرداخت درون برنامه مایکت کوردوا ya mahdi 0 230 1404/1/17، 05:43 عصر
آخرین ارسال: ya mahdi
  نحوه خروجی اندروید کوردوا ya mahdi 0 176 1404/1/11، 04:06 عصر
آخرین ارسال: ya mahdi
Wink حل شده مقادير لازم در environment variable ᔕinaᗪehghani 24 11,596 1403/10/23، 12:10 صبح
آخرین ارسال: Tggi
  تپسل .....فروشگاه Hamidreza 3 1,932 1403/10/22، 11:57 عصر
آخرین ارسال: Tggi
  خروجی اندروید با Intel xdk ya mahdi 0 130 1403/8/25، 02:08 عصر
آخرین ارسال: ya mahdi

پرش به انجمن: