javascript - Problème d'objet post-soumission en Ajax?
世界只因有你
世界只因有你 2017-05-19 10:31:36
0
5
647

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é ?

世界只因有你
世界只因有你

répondre à tous(5)
我想大声告诉你

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

伊谢尔伦

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})
过去多啦不再A梦

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',你的数据,执行成功后的回调);
習慣沉默

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.

phpcn_u1582

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

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