Javascript 如何将json文件用于静态服务器?

Javascript 如何将json文件用于静态服务器?,javascript,json,static-site,Javascript,Json,Static Site,我用angular编写了一个简单的应用程序,我将json数据直接编码到控制器的$scope中,然后我用这些数据进行处理。我可以拥有类似data.json的东西,并将其与js和css文件一起发送到客户端,然后angular可以读取这些文件吗?我该怎么做呢?不允许使用Ajax 如果不允许使用AJAX,则必须将该文件设置为javascript文件,而不是JSON文件。通过这样做,您可以得到与JSONP(带填充的JSON)非常相似的东西。在这种情况下,本质上是将JSON对象传递给回调函数。例如: myC

我用angular编写了一个简单的应用程序,我将json数据直接编码到控制器的
$scope
中,然后我用这些数据进行处理。我可以拥有类似data.json的东西,并将其与js和css文件一起发送到客户端,然后angular可以读取这些文件吗?我该怎么做呢?不允许使用Ajax

如果不允许使用AJAX,则必须将该文件设置为javascript文件,而不是JSON文件。通过这样做,您可以得到与JSONP(带填充的JSON)非常相似的东西。在这种情况下,本质上是将JSON对象传递给回调函数。例如:

myCallback({"foo":"bar", "bing":1900});
然后,您可以将该文件作为脚本标记包含在内,并使用适当的数据触发回调。确保在定义回调函数的脚本标记之后包含数据的脚本标记

另一种选择是将对象存储为全局变量。一般认为污染全球范围是不好的。

本地接入 仅对于本地访问,ou可以使用文件URI(可能,取决于使用的工具):

而不是

http://somewhere.net/project/file.js

共享页面 为了向浏览器(客户端)提供文件,您必须使用服务器

为此,较轻的原型方法是使用netcat之类的工具:


nc-l-p8080-q0文件://
URI表单。。。可能使用一些工具,比如netcat:
nc-l-p8080<@F.Hauri我正在处理github页面,这禁止Ajax您必须使用服务器来监听输入请求。Github不是网站持有者。@F.Hauri是。但它们允许您提供静态资产,如html、css、图像文件等。我希望我的json文件是发送到客户端的静态资产之一,javascript可以轻松读取(而不是像我现在所做的那样硬编码),这是可能的吗?我不明白为什么您不能发出AJAX请求来获取json文件,提供文件就是提供文件。静态服务器意味着服务器不能运行任何服务器端代码(PHP、ASP等)。这并不意味着客户端无法从服务器动态请求静态文件(如.json、.js、.css等)。
http://somewhere.net/project/file.js
nc -l -p 8080 -q 0 < <(
    echo $'HTTP/1.1 200 OK\r\nContent-type: application/javascript\r\n\r';
    cat file.js)