Encoder les headers personnalisé en JavaScript et les décoder en PHP
Par Wookai le dimanche 2 mars 2008, 17:48 - Code - Lien permanent
Dans la suite de mon post précédent, expliquant comment accéder à des headers HTTP personnalisés en PHP, j'ai rencontré le problème suivant : les headers sont bien transmis pour des données "simples", mais cela ne fonctionnait pas pour des caractères spéciaux ou accentués !
Vu que mes headers sont créés lors d'une requête AJAX, via le framework Opensocial, il faut d'abord pourvoir les "encoder", ou du moins "escaper" les caractères spéciaux, en JavaScript, et pouvoir les "décoder" du côté serveur, dans mon cas en PHP.
Pour ce faire, j'utilise la fonction JavaScript encodeURIComponent() du côté client :
var customHeaders = { "x-question-name" : nameValue, "x-question-text" : textValue };
var params = {};
params[opensocial.ContentRequestParameters.HEADERS] = customHeaders;
opensocial.makeRequest(url, createQuestionCB, params);
et la fonction PHP rawurldecode() du côté serveur !
$name = rawurldecode($_SERVER["HTTP_X_QUESTION_NAME"]);
$text = rawurldecode($_SERVER["HTTP_X_QUESTION_TEXT"]);
Commentaires
You composed a cool data to aid different people with their <a href="http://www.supremeessays.com">essay service</a> writing tasks, I opine. Even the assignment writing service will not have an ability to write such kind of hot sample essay.