recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - Problème d'objet post-soumission en Ajax?

La règle générale est de soumettre ce genre de {a:1,b:2}数据,如果我要提交{a:1,b:2,c:{d:3,e:{f:5}}}Comment faire ce genre d'objet embarqué ?

世界只因有你世界只因有你2835 Il y a quelques jours649

répondre à tous(5)je répondrai

  • 我想大声告诉你

    我想大声告诉你2017-05-19 10:33:36

    Le type de contenu par défaut d'axios est application/json. Il prend en charge votre format
    Si vous modifiez application/x-www-form-urlencoded, vous devez JSONiser les champs avec des objets intégrés

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-19 10:33:36

    Le premier en-tête
    http est défini sur

    Content-Type: application/json

    Ces données JSON peuvent être formatées sous forme de chaîne JSON pour la soumission

    Le deuxième en-tête
    http est défini sur

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

    À ce stade, une clé doit être transmise et l'objet js doit également être formaté en une chaîne JSON, qui ressemble probablement à ceci

    data=JSON.stringify({a:1})

    répondre
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-19 10:33:36

    Il n'y a pas de différence essentielle entre les objets incorporés et les objets ordinaires. Les données soumises par Ajax doivent être jsonisées.
    Ce qui suit est la méthode ajax que j'ai encapsulée, veuillez vous référer à la xhr.setRequestHeader("Content-type", "application/json");JSON.stringify(data) partie

    function ajax(url, method, data, callback){
        var xhr = new XMLHttpRequest();
        xhr.timeout = 3000;
        xhr.ontimeout = function(){
            console.log('网络超时, 请稍后重试!');
        };
        xhr.onload = function(){
            var s = xhr.status;
            if((s >= 200 && s < 300) || s == 304){
                var res = xhr.responseText;
                typeof callback == 'function' && callback(res);
            }
        };
        xhr.onerror = function(){
            console.log('网络问题, 请稍后重试!');
        };
        data = (method != 'GET' && typeof data=='object')?JSON.stringify(data):null;
        xhr.withCredentials = true;
        xhr.open(method, url, true);
        xhr.setRequestHeader("Content-type", "application/json");
        try{
            xhr.send(data);
        }catch(e){
            console.log('网络不佳, 请稍后重试!');
        }
    }
    ajax('你的链接','POST',你的数据,执行成功后的回调);

    répondre
    0
  • 習慣沉默

    習慣沉默2017-05-19 10:33:36

    Cela dépend de ce que vous avez l'habitude de soumettre. Si vous pensez que jquery peut effectuer une stringification automatique pour vous, vous pouvez simplement le lancer directement.

    Faites simplement une opération JSON.stringify et le backend la reconvertira tout seul.

    répondre
    0
  • phpcn_u1582

    phpcn_u15822017-05-19 10:33:36

    Il n'y a pas de différence essentielle entre les données régulières et les données que vous souhaitez soumettre

    répondre
    0
  • Annulerrépondre