Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript web服务中的JSON_Javascript_Php_Json_Web Services - Fatal编程技术网

Javascript web服务中的JSON

Javascript web服务中的JSON,javascript,php,json,web-services,Javascript,Php,Json,Web Services,我知道JSON可以在两台web服务器之间使用,例如facebook API使用aFile.JSON提供一些信息,所以我的网站需要使用PHP的JSON_decode()函数来处理它 问题是,我无法想象任何实际情况下,我们可以使用它在服务器和客户端之间交换数据。如果客户端请求某些数据,服务器将使用SQL从数据库或JSON接收文件或其他任何文件检索这些数据。。。但是最后他只会通过一个HTML文件(&可能是一些图像)来响应,这样客户端的浏览器就可以解释它了 我错了,JSON文件可以发送到客户端吗?那为什

我知道JSON可以在两台web服务器之间使用,例如facebook API使用aFile.JSON提供一些信息,所以我的网站需要使用PHP的JSON_decode()函数来处理它

问题是,我无法想象任何实际情况下,我们可以使用它在服务器和客户端之间交换数据。如果客户端请求某些数据,服务器将使用SQL从数据库或JSON接收文件或其他任何文件检索这些数据。。。但是最后他只会通过一个HTML文件(&可能是一些图像)来响应,这样客户端的浏览器就可以解释它了

我错了,JSON文件可以发送到客户端吗?那为什么呢?
我还读到,JSON用于在同一服务器上的PHP和javascript之间进行通信,你能给我举个例子吗?

你可以这样想:

  • 您转到网站X,您的浏览器(客户端)向服务器发送特定页面的请求。在这种情况下,服务器将响应HTML页面,该页面将由浏览器呈现给您

  • 您已经在网站X上,您的浏览器已经为您呈现了一个页面,现在您有了新闻稿订阅的输入,您可以将电子邮件放入该输入中,然后单击“订阅”。这里的一个场景是,JavaScript将使用JSON格式将您的电子邮件发送到服务器,服务器将响应与您的HTML相关联的JavaScript确认(也是JSON格式),并将为您显示
  • 第二种情况可能是为了避免重新加载已经呈现给您的页面

    您可以在浏览器中转到开发人员工具,您可以显示网络部分,您可以观察在客户端和服务器之间来回发送的不同HTTP消息


    要了解更多信息,我建议阅读,因为他们有很好的关于HTTP的文档

    JSON基本上是文本中的JavaScript对象(JSON代表JavaScript对象表示法)

    您可以通过AJAX调用从服务器获取JSON数据。这是一个简化的JavaScript示例,它进行AJAX调用,然后将响应JSON分配给
    var myObj

    var myObj, xmlhttp;
    xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function() {
      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
       myObj = JSON.parse(xmlhttp.responseText);
      }
    };
    xmlhttp.open("GET", "/example", true);
    xmlhttp.send();
    
    服务器响应

    {"name":"John", "surname":"Doe"}
    
    将响应分配给
    myObj

    document.getElementById("demo").innerHTML = myObj.name + " " + myObj.surname;
    

    JSON只是一种数据交换格式,就像XML、CSV等。它的优点是大多数客户端浏览器使用JavaScript,因此可以对其进行本机解析和使用。“JavaScript将使用JSON格式将电子邮件发送到服务器”您的意思是客户端将向服务器发送JSON文件而不是HTTP请求吗?或者没有文件,HTTP请求中包含JSON字符串?您无法区分JSON和HTTP请求,它们是不同的术语。JSON是唯一的数据格式,您可以在HTTP POST请求中发送JSON格式的消息。