PDA

View Full Version : مشکل در مورد string های JavaScript



ali.poorbazargan
جمعه 18 مرداد 1392, 04:40 صبح
سلام
دوستان من یه فرمی طراحی کردم که درونش یک textarea دارم که با استفاده از AJAX محتویات اون فرم در دیتابیس ذخیره میشه .
ولی مشکل اینجاست که تعداد کارکتر محدودی از textarea ذخیره میشه .
یعنی اگر تعداد کارکتر از 1553 ( اگه اشتباه نکنم ) بیشتر بشه عملیات انجام نمیشه .
این عدد در مورد کارکتر های فارسی به حدود 150 کارکتر میرسه !
مشکل از دیتابیس نیست چون واسش longtext درنظر گرفتم .
فقط میمونه جاوا اسکریپت یا php .
بنظر شما مشکل از چیه ؟

مشکل دیگه هم اینکه کارکتر n\ رو هیچجوره نمیتونم ذخیره کنم و به محض ذخیره متن همه ی پاراگراف ها به هم میچسبند .
از nl2br هم استفاده کردم ولی متاسفانه جواب نداد .

ممنون میشم راهنمایی کنید .

Javidhb
جمعه 18 مرداد 1392, 11:30 صبح
سلام،
(لبه احتمال زیاد) برای مورد اول باید از متد POST استفاده بشه. متد GET محدودیت برای ارسال داره.

مورد دوم، شما وقتی که میخاین متن رو نمایش بدید باید از nl2br استفاده کنید. توی دیتابیس باید اطلاعات خام نگهداری بشه و موقع نمایش تغییر پیدا کنن.

اگه این جوابها به کارتون نیومد و مشکلتون حل نشد، کدتون بزارید تا ردیفش کنیم!

ali.poorbazargan
جمعه 18 مرداد 1392, 15:29 عصر
واقعا ممنون ! نمیدونم چرا به ذهنم نمیرسید این قضیه !
ولی یه نکته ی جالب . وقتی از post استفاده کردم مشکل nl2br هم حل شد ! جریان چیه ؟!

ali.poorbazargan
جمعه 18 مرداد 1392, 15:50 عصر
و یه سوال دیگه ! الان که بحث post شد یادم افتاد .
موقعی که میخوایم با post اطلاعات بفرستیم ( با AJAX ) از method زیر به این شکل استفاده میکنیم .
من اینو حفظ کردم ولی نمیدونم دقیقا چیه ! ممنون میشم آرگومان هاشو بگین چیه و چرا اینارو میزنیم .

xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");

Javidhb
جمعه 18 مرداد 1392, 18:32 عصر
ولی یه نکته ی جالب . وقتی از post استفاده کردم مشکل nl2br هم حل شد ! جریان چیه ؟! احتمالا بخاطر encode شدن url بوده.


وقتی میخاید header request برای سرور بفرستید باید یسری پارامترها رو تنظیم کنید. (این کار توی بازدیدهای معمولی توسط مرورگر و ... انجام میشه). اما در مورد ajax برای بازسازی همون حالتی که وقتی یه فرم بصورت معمولی submit میشه و اطلاعات از طریق post به سرور فرستاده میشه --- باید Content-Type برابر با "application/x-www-form-urlencoded" باشه. (وقتی از فرم با متد post استفاده میکنید، مرورگر خودش http request یی رو که میفرسته مقدار content-type را برابر با "application/x-www-form-urlencoded" قرار میگیره)

اینم لیست کامل تمام پارامترهای مربوط به http header (http://en.wikipedia.org/wiki/List_of_HTTP_header_fields)