سؤال

كيف أقوم بتمرير سلسلة كبيرة تحتوي على أحرف مثل "٪" و "و" إلى صفحة PHP الخاصة بي من خلال Ajax Post؟

وبعبارة أخرى ، كيف تتمثل في javaScript-Encode لهم و PHP-DecoDe لهم؟

هل كانت مفيدة؟

المحلول

ال encodeURIComponent() يمكن استخدام وظيفة JavaScript للهروب من أي من تلك الأحرف في المفاتيح أو القيم.

سوف تتلقى PHP وفك تشفيرها تلقائيًا في $_POST مجموعة مصفوفة.

يجب أن يكون تنسيق البيانات تنسيق سلسلة الاستعلام ، على وجه التحديد:

Content-Type: application/x-www-form-urlencoded

علي سبيل المثال:

Name=Joe&Age=23&City=Altoona

إذا كنت تستخدم encodeURIComponent() في كل مفتاح وكل قيمة ، ثم انضم إليهم =, وتجميعها بواسطة &, ، لن يكون لديك أي مشاكل أخرى.

نصائح أخرى

لتشفيرها في JavaScript ، استخدم Encodeuri و EncodeUricompon

http://www.w3schools.com/jsref/jsref_encodeuricomponent.asp


فك تشفير PHP:

http://php.net/manual/en/function.urldecode.php

أنت في الواقع لا تحتاج إلى تشفير أو فك تشفير شيء ما ، إذا كنت تستخدم المعلمة POST في طريقة إرسال طريقة XMLHTTPREQUEST. احصل فقط على الاحتياجات والترميز ، لأنه يستخدم حقل URI. يجب أن تكون حذراً عند استخدام هذه البيانات في طلبات SQL. حذار الحقن.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top