簡體   English   中英

向db.json發出POST請求,對象內部具有多個屬性

[英]make POST request to db.json with multiple attributes inside object

我有以下代碼:

function createObject(){
  let object = {
    product1 : "Apple",
    product2 : "Banana",
    product3 : "Cucumber",
    product4 : "Duba",
    product5 : "Emil",
    product6 : "Fidschi",
  }

  return object
}

function commonAJAXPOSTCall(jsonstring){
  return $.ajax({
    type: 'POST',
    data: jsonstring,
    url: "http://localhost:3000/posts"
  }).then((response) => {
    return response
  })
}

export async function jsonDBSetter(){
    let object = createObject()
    //console.log(object)
    object = JSON.stringify(object)
    let resultCheck = await commonAJAXPOSTCall(object)
    console.log(resultCheck)

}

現在的問題是,最終,來自對象的數據沒有按照我的意願插入“ posts”表中。 我希望將每個屬性插入其自己的行中,這樣我就可以擁有“ key => value”,就像它在對象內部一樣。 但是,實際行為是JSON服務器創建一個密鑰,然后將整個JSON字符串保存到此單個密鑰。

我對使用json服務器非常陌生,到目前為止,我並沒有真正發現任何有用的信息來確切說明如何使用我的用例...

編輯:而且我想避免“變通方法”,在該方法中,我遍歷對象並為JS對象的每個成員進行AJAX調用。

嘗試這個 :

return $.ajax({
    type: 'POST',
    data: jsonstring,
    contentType: "application/json",
    url: "http://localhost:3000/posts"
}).then((response) => {
    return response
})

如果還是不行,您可以嘗試使用Formdata代替:

function createObject(){
    let form_data = new FormData();

    form_data.append('product1', "Apple");
    form_data.append('product2', "Banana");
    form_data.append('product3', "Cucumber");
    form_data.append('product4', "Duba");
    form_data.append('product5', "Emil");
    form_data.append('product6', "Fidschi");

    return form_data;
}

function commonAJAXPOSTCall(formdata){
  return $.ajax({
    dataType: 'text',
    type: 'POST',
    contentType: false,
    processData: false,
    data: formdata,
    url: "http://localhost:3000/posts"
  }).then((response) => {
    return response
  })
}

export async function jsonDBSetter(){
    let formdata = createObject()
    let resultCheck = await commonAJAXPOSTCall(formdata)
    console.log(resultCheck)

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM