[英]How to store array of objects in db.json from json-server
我正在使用json-server创建一个伪造的后端,以json格式存储一些数据。 数据很复杂,如下所示-
{
"id": 0,
"quizName": "Which Harry Potter Character Are You?",
"characters": ["Harry", "Ron", "Hermoine"],
"qa": [{
"question": "Do you play Chess?",
"answers": [{
"name": "yes",
"charscore": [0, 1, 0]
},
{
"name": "no",
"charscore": [1, 0, 1]
}
]
},
{
"question": "Do you spell magic correctly?",
"answers": [{
"name": "yes",
"charscore": [0, 0, 1]
},
{
"name": "no",
"charscore": [1, 1, 0]
}
]
},
{
"question": "Do you have a Scar?",
"answers": [{
"name": "yes",
"charscore": [1, 0, 0]
},
{
"name": "no",
"charscore": [0, 1, 1]
}
]
}
]
}
但是当我对json服务器执行jQuery POST时,json数据存储如下:
{
"quizName": "Which Harry Potter Character Are You?",
"characters[]": [
"Harry",
"Ron",
"Hermoine"
],
"qa[0][question]": "Do you play Chess?",
"qa[0][answers][0][name]": "yes",
"qa[0][answers][0][charscore][]": [
"0",
"1",
"0"
],
"qa[0][answers][1][name]": "no",
"qa[0][answers][1][charscore][]": [
"1",
"0",
"1"
],
"qa[1][question]": "Do you spell magic correctly?",
"qa[1][answers][0][name]": "yes",
"qa[1][answers][0][charscore][]": [
"0",
"0",
"1"
],
"qa[1][answers][1][name]": "no",
"qa[1][answers][1][charscore][]": [
"1",
"1",
"0"
],
"qa[2][question]": "Do you have a Scar?",
"qa[2][answers][0][name]": "yes",
"qa[2][answers][0][charscore][]": [
"1",
"0",
"0"
],
"qa[2][answers][1][name]": "no",
"qa[2][answers][1][charscore][]": [
"0",
"1",
"1"
],
"id": 1
}
邮寄方法如下-
$.post(this.serverUrl, val, function (serverResponse) {
//val contains the expected javascript object
console.log(serverResponse);
});
如何将值正确存储在json-server中?
修改AJAX调用以发送stringify对象并设置contentType: "application/json"
达到目的
修改了AJAX调用,如下所示:
$.ajax({
type: "POST",
url: this.serverUrl,
data: JSON.stringify(val),
contentType: "application/json"
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.