Rumah > Soal Jawab > teks badan
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?
我想大声告诉你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
伊谢尔伦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})
过去多啦不再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',你的数据,执行成功后的回调);
習慣沉默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.
phpcn_u15822017-05-19 10:33:36
Tiada perbezaan penting antara data biasa dan data yang ingin anda serahkan