54 votes

Envoyer des données JSON de Javascript à PHP ?

Comment puis-je envoyer des données JSON depuis Javascript dans le navigateur, vers un serveur et les faire analyser par PHP ?

1 votes

Json_decode pourrait être ce que vous recherchez ?

1 votes

Ceci vous aidera : [envoyer des données json depuis javascript] [1] [1] : stackoverflow.com/questions/1255948/

0 votes

Cela pourrait vous aider stackoverflow.com/

3voto

Il existe trois façons d'envoyer des données du côté client (HTML, Javascript, Vbscript ...etc) au côté serveur (PHP, ASP, JSP ...etc).

1. HTML form Posting Request (GET or POST).
2. AJAX (This also comes under GET and POST)
3. Cookie

Demande d'affichage du formulaire HTML (GET ou POST)

C'est la méthode la plus couramment utilisée, et nous pouvons envoyer plus de données par cette méthode.

AJAX

Il s'agit d'une méthode asynchrone qui doit fonctionner de manière sécurisée. Ici aussi, nous pouvons envoyer plus de données.

Cookie

C'est une bonne façon d'utiliser une petite quantité de données insensibles. C'est la meilleure façon de travailler avec un petit nombre de données.

Dans votre cas, vous pouvez préférer le formulaire HTML post ou AJAX. Mais avant d'envoyer au serveur, validez votre json par vous-même ou utilisez un lien tel que http://jsonlint.com/

Si vous avez un objet Json, convertissez-le en chaîne en utilisant JSON.stringify(object). Si vous avez une chaîne JSON, envoyez-la telle quelle.

2voto

khael Points 2104

En utilisant JSON.stringify(yourObj) ou Object.toJSON(yourObj) la dernière est pour utiliser prototype.js, puis l'envoyer en utilisant ce que vous voulez, ajax ou submit, et vous utilisez, comme suggéré, json_decode ( http://www.php.net/manual/en/function.json-decode.php ) pour l'analyser en php. Et ensuite, vous pouvez l'utiliser comme un tableau.

1voto

ravz Points 2023

Je recommande le jquery.post() méthode.

0voto

jianfeng Points 491
    <html>
<script type="text/javascript">
var myJSONObject = {"bindings": 11};
alert(myJSONObject);

var stringJson =JSON.stringify(myJSONObject);
alert(stringJson);
</script>
</html>

-2voto

Vous pouvez facilement convertir un objet en chaîne de caractères urlencodée :

function objToUrlEncode(obj, keys) {
    let str = "";
    keys = keys || [];
    for (let key in obj) {
        keys.push(key);
        if (typeof (obj[key]) === 'object') {
            str += objToUrlEncode(obj[key], keys);
        } else {
            for (let i in keys) {
                if (i == 0) str += keys[0];
                else str += `[${keys[i]}]`
            }
            str += `=${obj[key]}&`;
            keys.pop();
        }
    }
    return str;
}

console.log(objToUrlEncode({ key: 'value', obj: { obj_key: 'obj_value' } }));

// key=value&obj[obj_key]=obj_value&

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X