cari

Rumah  >  Soal Jawab  >  teks badan

javascript - Masalah objek penyerahan pasca dalam ajax?

Peraturan umum adalah untuk menyerahkan jenis ini {a:1,b:2}数据,如果我要提交{a:1,b:2,c:{d:3,e:{f:5}}}Bagaimana untuk melakukan objek terbenam jenis ini?

世界只因有你世界只因有你2804 hari yang lalu631

membalas semua(5)saya akan balas

  • 我想大声告诉你

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

    Kandungan lalaiJenis axios ialah aplikasi/json Ia menyokong format anda
    Jika anda menukar aplikasi/x-www-form-urlencoded, anda perlu JSONize medan dengan objek terbenam

    .

    balas
    0
  • 伊谢尔伦

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

    Pengepala
    http pertama ditetapkan kepada

    Content-Type: application/json

    Data JSON ini boleh diformatkan sebagai rentetan JSON untuk penyerahan

    Pengepala
    http kedua ditetapkan kepada

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

    Pada masa ini, kunci perlu dihantar, dan objek js juga perlu diformatkan menjadi rentetan JSON, yang mungkin kelihatan seperti ini

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

    balas
    0
  • 过去多啦不再A梦

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

    Tiada perbezaan penting antara objek terbenam dan objek biasa data yang diserahkan perlu jsonized.
    Berikut ialah kaedah ajax yang saya enkapsulasi, sila rujuk bahagian xhr.setRequestHeader("Content-type", "application/json");JSON.stringify(data)

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

    balas
    0
  • 習慣沉默

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

    Ia bergantung pada apa yang anda gunakan untuk menghantar Jika anda fikir jquery boleh melakukan rentetan automatik untuk anda, anda boleh memasukkannya terus.

    Hanya lakukan operasi JSON.stringify, dan bahagian belakang akan menukarnya semula dengan sendirinya.

    balas
    0
  • phpcn_u1582

    phpcn_u15822017-05-19 10:33:36

    Tiada perbezaan penting antara data biasa dan data yang ingin anda serahkan

    balas
    0
  • Batalbalas