国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

AJAX POST et le signe plus (+) - comment l'encoder ?
P粉124070451
P粉124070451 2023-07-21 09:47:06
0
2
776

Je publie le contenu d'un champ de formulaire dans un script PHP via AJAX et j'utilise JavaScript pour m'échapper (field_contents). Le problème est que tous les signes plus sont supprimés et remplacés par des espaces. Comment puis-je ? encoder ? en toute sécurité le signe plus, puis le ? décoder ? de manière appropriée en PHP

?
P粉124070451
P粉124070451

répondre à tous(2)
P粉010967136

Essayez-le en JavaScript?:

encodeURIComponent()

PHP?:

urldecode($_POST['field']);
P粉674999420

Utilisez encodeuriccomponent() en JS et PHP et vous devriez recevoir la valeur correcte.

REMARQUE : Lorsque vous accédez à $_GET, $_POST ou $_REQUEST en PHP, vous récupérez une valeur déjà décodée.

Exemple?:

Dans votre JS?:

// url encode your string
var string = encodeURIComponent('+'); // "%2B"
// send it to your server
window.location = 'http://example.com/?string='+string; // http://example.com/?string=%2B

Sur votre serveur

echo $_GET['string']; // "+"

Seule la requête HTTP d'origine contient des données codées en URL.

Pour les requêtes GET, vous pouvez le récupérer à partir de l'URI. $_SERVER['REQUEST_URI'] ou $_SERVER['QUERY_STRING']. Pour le POST codé en urlen, file_get_contents('php://stdin')

Remarque?:

Decode() s'applique uniquement aux caractères codés sur un seul octet. Cela ne fonctionne pas pour toute la gamme UTF-8.

par exemple?:

text = "\u0100"; // ā
// incorrect
escape(text); // %u0100 
// correct
encodeURIComponent(text); // "%C4%80"

Remarque?: "%C4%80" is equivalent to: escape('xc4x80')

Il s'agit de la séquence d'octets représentant ? en UTF-8 (xc4x80). Donc, si vous utilisez encodeuriccomponent(), votre c?té serveur doit savoir qu'il re?oit UTF-8. Sinon, PHP gachera l'encodage.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal