问题标签 [json-server]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
389 浏览

jquery - jQuery Ajax Post 更改对象结构

今天,我第一次使用 Ajax,遇到了一个奇怪的问题。在使用 jQuery 发出 Ajax 'POST' 请求时,它会创建一些奇怪的语法。我在其他问题中没有找到答案,实际上,我也不知道我应该寻找什么。

使用 Postman,我将其用作“POST”请求的主体:

当我GET用来获取对象(没有 Ajax)时,它完全返回这个。但是,当我使用POSTAjax 并通过与GET其他对象相同的方法获取它时,我会收到以下信息:

我的 jQuery 代码如下所示:

到目前为止我已经尝试过:

  • 使用dataType: "json"
  • 使用contentType: 'application/json'(导致来自 json-server 的 500 错误)

所以我的问题是:这是什么?

为什么 Ajax 会这样创建它?

我访问这样的代码:

0 投票
1 回答
2055 浏览

json-server - 如何将 json-server 的选项设置为模块?

假设我们有以下命令行来运行 json-server ( https://github.com/typicode/json-server ):

json-server db.json --routes routes.json --port 8008 --delay 1000

如果我们将 json-server 作为模块运行,我们如何设置这些选项?我可以看到定义的 db.json 和定义的端口。但目前尚不清楚如何定义其余选项。

0 投票
2 回答
1089 浏览

javascript - Angular JS数据响应未定义

我是 Angular JS 的新手,正在尝试使用 JSON 数据调用 Rest API。当我运行 HTTP-server 时,没有取回我的响应数据。

0 投票
2 回答
4465 浏览

javascript - 如何在 azure 中托管 json-server

我是软件领域的新手,请耐心等待我的问题和技术术语的错误:

前提:- 我使用 Angular4 开发了一个前端应用程序。在 Angular 应用程序中定义的 baseURL 是“ http://localhost:3000/ ”。我的应用程序使用 restangular api 与 json-server 交互(我创建了一个名为 json-server 的文件夹,它有 db.json 和 public 文件夹)。当我使用命令启动 json-server 时,它工作得很好: json-server json-server --watch db.json

我的应用程序已完成,因此我创建了一个生产版本。此后,我将所有文件从 dist 文件夹移动到 json-server 的 public 文件夹。当我启动 json-server 时,我的应用程序工作正常。

实际问题:- 现在我想在 azure 中托管。我只是从 json-server 文件夹中复制了所有文件/文件夹(db.json 和公用文件夹),并将它们放在天蓝色的云中。完成 azure 托管并在浏览器中打开 url 时出现错误-“您无权查看”。

为了纠正上述错误,我从 azure 中删除了所有文件,然后我复制了 dist 文件夹的所有文件并将它们放在 azure 云中。使用它,我可以在浏览器中看到应用程序,但看不到图像。在图像有一个错误 - 响应状态:0 对于 URL:null

当我在本地启动 json-server 时,一切正常,但当然,当从其他机器打开相同的网页时,我得到了同样的错误 - 响应状态:0 对于 URL:null

有什么方法可以在 azure 中运行 json-server,以便所有机器/移动设备在访问 url 时都能看到正确的网页而不会出现任何错误。

0 投票
2 回答
4004 浏览

angularjs - 不支持 user.json 中的“id”(数字)类型。使用 json-server 时使用对象或对象数组出错,为什么?

我正在开发一个 Angular 4 应用程序。我正在尝试从 JSON 文件中获取数据以构建用户仪表板。

我创建了一个 json 文件并尝试使用 JSON 服务器加载它:$ json-server --watch user.json我收到以下错误:

不支持 user.json 中的“id”(数字)类型。使用对象或对象数组。.

当我删除文件中的“id”字段时,我得到与“name”相同的错误。

我觉得我创建 json 文件的方式有问题。我是 Web 开发的新手,所以不要介意这是一个非常根本的错误。

这是我的 json 文件:

0 投票
1 回答
1817 浏览

angular - 当 anuglar 在 stackblitz 上访问 my-json-server 时出现关于 CORS 的错误

在 stackblitz 上,我构建了一个 Angular 项目来访问my-json-server模拟服务器。
它在这里。

单击Send Request按钮后,我在控制台上收到以下错误:

无法加载https://my-json-server.typicode.com/typicode/demo/posts/1:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此, Origin ' https://angular-http-test-cors.stackblitz.io ' 是不允许访问的。如果不透明的响应满足您的需求,请将请求的模式设置为“no-cors”以获取禁用 CORS 的资源。

该错误要求我将请求的模式设置为“no-cors”。
但是如何实现呢?
我应该更改 my-json-server 上的配置吗?但是怎么做?
我可以改变我的程序吗?

参考:
从不同的服务器请求服务 (CORS)

更新:20180314
我今天试了一下。什么都没做,现在可以工作了。诡异的!

0 投票
4 回答
1567 浏览

php - 使用 ajax、php 和 json 服务器发布请求时出现错误 404

如标题中所述,我收到此错误

jquery.min.js:3049 POST http://localhost:3000/php/add_events.php 404(未找到)

当我尝试在 json-server 上使用该代码访问 php 文件时:

当我尝试设置 GET 而不是 POST 时,它可以工作,但不能发布(正常)。
这是php代码:

是我试图发布并进入同一个 php 文件引起的问题吗?
或者是别的什么 ?

0 投票
1 回答
2246 浏览

mocking - 如何在 json-server 请求中找到 request.headers?

我试图让我的模拟 API(json-server)以一种方式响应,如果客户端AUTH_TOKEN在他的请求的标头中发送了一个,如果他没有,则以另一种方式响应。这段代码是我正在使用的,它来自 json-server 文档。

当然这可行,除了该isAuthorized(req)函数需要检查请求标头。我的isAuthorized函数如下所示(伪)。

这不起作用,因为req没有getHeader方法,但我的意图很明确 - 我需要检查令牌,如果它存在则返回 true,否则返回 false。

我怎样才能做到这一点?

req.headers返回以下内容。

这与我在实际请求中发送的标头没有任何关系。

0 投票
1 回答
768 浏览

javascript - json-server 使用中间件添加只读路由

在我的 json-server 设置中,我想设置一个只读路由。

db.json因此,我没有在文件中设置该路由,而是使用中间件(名为middleware.js):

所以我运行它给:

json-server --watch db.json --middlewares middleware.js

问题是,尽管if触发了阻止并且我可以看到console.log消息,但响应的正文将始终为空。

0 投票
1 回答
2196 浏览

angularjs - json-server - 跨源请求仅支持协议方案:http、data、chrome、chrome-extension

我正在运行一个快速服务器来在端口 8000 上为我的 angularJS 应用程序提供服务。我正在使用我的一个$http.get内部服务来访问 API。
我正在使用json-server在 3000 上托管 API。当我在浏览器中输入 URL 时,我得到了 JSON 服务。但是当我打开应用程序时,在 devtools 中显示以下错误:

XMLHttpRequest 无法加载 localhost:3000/techData。跨源请求仅支持协议方案:http、data、chrome、chrome-extension、https。

这是 angularjs 服务:

我看到了这个问题并了解到 json-server 允许跨源请求。