Как разместить файл JSON на локальном сервере?

Последние два часа я сводил себя с ума, пытаясь найти ответ на проблему, с которой столкнулся. Я пытался получить доступ к локальному файлу JSON с именем data.json, который я поместил в каталог своего проекта. Моя консоль вернула эту ошибку:

Запросы между источниками поддерживаются только для схем протоколов: http, data, chrome, chrome-extension, https, chrome-extension-resource.

Теперь я знаю, что не могу получить доступ к этому файлу локально, и я должен сделать это через внешний сервер. Как кто-то настраивает локальный сервер с этим файлом? Может кто-нибудь объяснить, как это сделать с помощью python, json-server и node,js? Я полностью потерян.

Вот мой код:

$(function (){

var $orders = $("#orders");
var $name = $('#name');
var $drink = $('#drink');

$.ajax({
    type: 'GET',
    datatype: 'json',
    url: 'data.json',
    success: function(orders) {
      $.each(orders, function(i, order) {
        $orders.append('<li>Name: ' + order.name + ', Drink: ' + order.drink +  '</li>');
      });
    },
    error: function() {
      alert('error loading orders');
    }
});

$('#add-order').on('click', function() {

    var order = {
        name: $name.val(),
        drink: $drink.val()
    };

    $.ajax({
      type: 'POST',
      url: 'data.json',
      data: order,
      success: function(newOrder) {
        $orders.append('<li>Name: ' + newOrder.name + ', Drink: ' + newOrder.drink +  '</li>');
        },
      error: function () {
        alert("error saving order");
      }
      });
    });
});

person pghInitechBranch    schedule 23.08.2016    source источник


Ответы (1)


Как кто-то настраивает локальный сервер с этим файлом?

Очень простой веб-сервер на Python можно запустить с помощью одной команды. Это позволит вам получать содержимое через HTTP.

Из каталога, в котором находится ваш файл data.json, вы можете запустить одно из следующих...

  • если вы используете Python 2:

    • $ python -m SimpleHTTPServer 8000
  • или если вы используете Python 3:

    • $ python -m http.server 8000

После запуска сервер будет прослушивать запросы на порту 8000.

Вы можете получить к нему доступ, отправив HTTP-запрос GET на локальный хост (http://127.0.0.1:8000/data. json)

person Corey Goldberg    schedule 23.08.2016