【问题标题】:Confused: ajax sending request to a json file困惑:ajax 向 json 文件发送请求
【发布时间】:2013-11-19 15:41:39
【问题描述】:

刚才我在一个网页上发现了一些代码,让我很困惑:

$.ajax({
        url: "/foo/bar/save.json",
        data: {
                key: value
              },
        type: "POST",
        success: function(a) {
                //some code
                },
        error: function(a) {
                //some code
                },
        dataType: "json"
       })

我知道它使用HTTP方法POSTdata发送到url,如果url像/foo/bar/save.php/foo/bar/save那么没有问题,但它以.json结尾... 什么样的服务器端语言可以处理发送到以json 结尾的路径的请求? json 有什么特殊含义还是和.action .do 一样,我可以随意重命名?

谢谢!

【问题讨论】:

  • 如果另一端有控制器或 node.js 路由或类似的东西,则 url 几乎可以是任何东西,不能保证 URL 是实际的 JSON 文件。
  • @adeneo aha,所以我可以将其重命名为 .nosj 之类的其他名称?顺便说一句,有没有使用.json 作为文件名的服务器语言?
  • .json 文件扩展名通常用于大多数环境中的 JSON 文件,但 URL 不必引用文件,URL 可以是任何你想要的,只要另一端的网络服务器捕获该 URL。在 Apache URL 中,为了方便起见,通常会自动将 URL 路由到文件,但它不一定是文件,它可以是一个“包罗万象”的网络服务器,可以为任何 URL 等动态创建内容。

标签: php jquery ajax json post


【解决方案1】:

什么样的服务器端语言可以处理发送到以 json 结尾的路径的请求?

任何。服务器无需使用文件扩展名将 URL 映射到程序(或文件)。

json有什么特殊含义吗

在返回的数据类型(而不是用于生成它的软件的编写方式)的 URL 提示中使用它(甚至不必发出请求)。这对于使用客户端获取数据的人来说更有用。

【讨论】:

  • 这有帮助!那么,使用 URL 作为返回数据类型的提示是一种首选做法吗?如果我在返回 json 数据的任何地方都使用.json 结束 URL,是否更容易合作?
  • 我不确定它是否是首选,但它是有道理的。它还避免了将 URL 与技术绑定在一起,这意味着技术的更改将make the urls change 或通过(例如)在由 Perl 程序处理的 URL 上具有 JSP 文件扩展名来迷惑您的开发人员。
【解决方案2】:

什么样的服务器端语言可以处理发送到以 json 结尾的路径的请求?

任何种类。

这只是一个url,服务器处理、重定向或重写的方式不会显示给客户端。

例如,使用标准的apache / php 设置,您可以在服务器上设置重写规则:

^(.*)\.json     $1.php?json=true

并让您的内容由 php 脚本动态生成。

【讨论】:

    猜你喜欢
    • 2013-12-13
    • 1970-01-01
    • 2015-09-22
    • 1970-01-01
    • 2012-08-08
    • 1970-01-01
    • 2013-01-15
    • 1970-01-01
    • 2016-03-29
    相关资源
    最近更新 更多