حذف amp; از url post ارسالی توسط تکنولوژی ajax
با سلام
دوستان من وقتی اطلاعاتم را post میکنم ادرس به طور خودکار اینکد میشه یعنی & به & تبدیل میشه حالا وقتی که من $_POST پارامتر را میگیرم به صورت خودکار & را جدا کننده در نظر میگیره و نام پارامتر را با amp; در نظر میگیره حالا ایا روش مناسبی جز جایگزینی رشته وجود داره
<script type="text/javascript">
try {
Req = new XMLHttpRequest();
} catch ( error ) {
Req = new ActiveXObject( "Microsoft.XMLHTTP" );
}
Data = 'id=2';
Data += '&post=5';
Data += '&com=455';
Req.open( 'POST', 'http://vsharp.ir/a.php', true );
Req.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded; charset=UTF-8" );
Req.send( Data );
</script>
حالا کد بالا پارامتر زیر را تولید میکنه
id=2&post=5&com=455
وبعد از ارسال
id=2
amp;post=5
amp;com=455
نقل قول: حذف amp; از url post ارسالی توسط تکنولوژی ajax
اگه تو خط 11 نحوه ارسال رو بجاي POST بحالت GET بذاريد، مشكلتون حل ميشه و url رو به شكل GET دربياريد
يا اينكه براي همين شكل
Req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
Req.setRequestHeader("Content-length", Data.length);
Req.setRequestHeader("Connection", "close");
نقل قول: حذف amp; از url post ارسالی توسط تکنولوژی ajax
ممنون از جواب شما دوست عزیز
اما یک سوال من قبل از کد زیر
Req.open( 'POST', 'http://vsharp.ir/a.php', true );
Req.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded; charset=UTF-8" );
Req.send( Data );
این کد را گذاشتم
alert(Data);
و دیدم قبل از ارسال یعنی در مرحله الحاق کارکتر & را به & تبدیل میکنه
ایا باز هم این کد شما کارایی داره
ممنون
نقل قول: حذف amp; از url post ارسالی توسط تکنولوژی ajax
اينكه js كاراكتر & رو به & تبديل ميكنه ذاتيه، دست خودش نيست!!!
اما كد رو امتحان نكردم، چون خيلي وقته از اين كلاس استفاده نميكنم، چون براي مرورگرهاي مختلف، نياز به كدهاي زيادي داره
JSHttpRequest،JQueryو MooTools كلاسهاي خوبي هستن
نقل قول: حذف amp; از url post ارسالی توسط تکنولوژی ajax
خوب شما بجای ;(alert(data این کد رو بگذارین (همونجایی که alert گذاشتین، ببینید درست میشه یا نه؟
Data = Data.replace("&", "&");
ببینید درست میشه یا نه؟
نقل قول: حذف amp; از url post ارسالی توسط تکنولوژی ajax
نقل قول:
نوشته شده توسط
MMSHFE
خوب شما بجای ;(alert(data این کد رو بگذارین (همونجایی که alert گذاشتین، ببینید درست میشه یا نه؟
Data = Data.replace("&", "&");
ببینید درست میشه یا نه؟
استاد ارجمند من تو اولین پست هم نوشتم
نقل قول:
ایا روش مناسبی جز جایگزینی رشته وجود داره
چون من پارامترها معلوم نیست چندتا باشه و با توجه به اینکه اگر اشتباه نکنم برای هر پارامتر باید من یکبار
Data = Data.replace("&", "&");
بنویسم خیلی کد طولانی میشه
نقل قول: حذف amp; از url post ارسالی توسط تکنولوژی ajax
نه عزیز، این تابع رو قبل از ارسال قرار بدین. کل ;amp& ها رو تبدیل به & میکنه. نیاز نیست برای هر مورد، تکرارش کنید. موفق باشید.