在过去的两个小时里,我试图找到我遇到的问题的答案,这让我自己都快疯了。我试图访问一个名为 data.json 的本地 JSON 文件,我将其放置在项目目录中。我的控制台返回此错误:
仅协议(protocol)方案支持跨源请求: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");
}
});
});
});
How does someone setup a local server with this file?
只需一条命令即可启动 Python 中的一个非常简单的 Web 服务器。这将允许您通过 HTTP 获取内容。
从 data.json
文件所在的目录中,您可以运行以下命令之一...
如果您运行的是 Python 2:
$ python -m SimpleHTTPServer 8000
或者如果您运行的是 Python 3:
$ python -m http.server 8000
启动服务器后,它将监听端口 8000 上的请求。
您可以通过向本地主机 ( http://127.0.0.1:8000/data.json ) 发送 HTTP GET 请求来访问它
我是一名优秀的程序员,十分优秀!