Javascript 如何格式化来自getJSON()jQuery调用的HTTP请求的HTTP响应

Javascript 如何格式化来自getJSON()jQuery调用的HTTP请求的HTTP响应,javascript,jquery,json,http,http-headers,Javascript,Jquery,Json,Http,Http Headers,事情是这样的: 我正在为我的论文创建一个完全定制的服务器。在客户端,我希望能够请求服务器处理的数据库调用。然后它以HTTP给出响应,以JSON提供查询结果 我现在调用的方式是:使用JQuery的“getJSON()”方法 虚拟示例: <script type="text/javascript"> $(document).ready(function(){ $.getJSON('./db/q="select * from *"', fun

事情是这样的:

我正在为我的论文创建一个完全定制的服务器。在客户端,我希望能够请求服务器处理的数据库调用。然后它以HTTP给出响应,以JSON提供查询结果

我现在调用的方式是:使用JQuery的“getJSON()”方法

虚拟示例:

<script type="text/javascript">
        $(document).ready(function(){
                $.getJSON('./db/q="select * from *"', function(result){
                    process(result);
                });
        });
</script>
我的问题是:为了从浏览器上javascript的“result”参数中的响应中获取JSON负载,从服务器到浏览器的HTTP 1.1响应会是什么样子

  • 要通过AJAX和jQuery获取JSON数据,不需要使用getJSON。任何
    $.get
    $.post
    $.ajax
    如果他们在响应中看到JSON,就会自动解析JSON

  • 正文没有特定的格式。只要它是有效的JSON,jQuery就会将JSON对象的根放入
    result
    。例如,如果您的响应是
    {foo:'bar'}
    ,则
    结果
    对象的
    结果.foo
    属性将设置为
    “bar”

  • 在您的响应中,要使jQuery自动将内容视为JSON,您需要指定标题
    content-Type:application/JSON
    。所有其他标题都不相关

  • 最好将查询从GET参数移动到POST参数,这样就不必在查询字符串上对其进行url编码


  • 首先,你的语法是错误的。使用单引号/双引号组合或转义它们。Try:
    $.getJSON('./db/q=“select*from*”,函数(result){console.log(result);})并在控制台中发布您得到的内容。您在服务器端使用的是什么?PHP?啊,对了,我只是在路上编出来的,你是对的,这是错的。事实上,这并不重要,我在自己的代码中做得很正确。请求转到我的服务器。我只想知道对上面发布的请求的HTTP响应通常是什么样子的。谢谢你的提示!在阅读你的评论时,我意识到我的逻辑还存在其他问题,谢谢你的启发
    
    request: GET /db/q="select * from *"
    Host: 127.0.0.1:9000
    Connection: keep-alive
    Accept: text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01
    X-Requested-With: XMLHttpRequest
    User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36
    Referer: http://127.0.0.1:9000/web/widgets/gauge.html
    Accept-Encoding: gzip,deflate,sdch
    Accept-Language: nl-NL,nl;q=0.8,en-US;q=0.6,en;q=0.4,id;q=0.2