Мой код - это простое получение и отправка в JSON через jQuery AJAX. вот файл JSON "drinks.json"

[{
        "id": 1,
        "name": "Will",
        "drink": "coffee"
}]

Я могу читать данные из файла json, но при попытке опубликовать данные никогда не попадают в файл json. вот мой почтовый запрос:

 $("#add-order").on("click", function () {  
  var order = {
    id: 3,
    name: $name.val(),
    drink: $drink.val()
  };

  $.ajax({
    method: "POST",
    data: order,
    url: "./drinks",
    dataType: "json"
  }).done(function(r){
    console.log(r);
  })
});

Я использую wampserver и вижу, что статус запроса - 200. Я также безуспешно пробовал JSON.stringify (order).

0
Amonem 5 Мар 2019 в 16:39

1 ответ

Лучший ответ

Я думаю, вы пытаетесь напрямую отправить данные в файл json. К сожалению, вы не можете сделать это так просто. Вы просто не можете записывать файлы на свой сервер напрямую с помощью AJAX, но вы можете сделать это, создав дополнительный небольшой файл PHP и вместо этого отправив туда данные.

<?php
   $arrFromJson = json_decode(file_get_contents("drinks.json"), true);
   array_push($arrFromJson, $_POST["newDrink"]);
   // change json accordingly -> var order = { newDrink: { ...
   $newJson = json_encode($arrFromJson);
   file_put_contents("drinks.json", $newJson);
?>
0
TomSon234 5 Мар 2019 в 14:07