繁体   English   中英

Web服务中的JSON

[英]JSON in web services

我知道JSON可在2个网络服务器之间使用,例如facebook API使用aFile.json提供了一些信息,因此我的网站需要使用PHP的json_decode()函数来处理它,

这个问题使我无法想象任何实际情况,我们可以在服务器和他的客户端之间使用它来交换数据。 如果客户端请求某些数据,则服务器将使用SQL从数据库或JSON接收文件或其他任何内容中检索它们……但最终,他将通过HTML文件(可能包含一些图像)进行响应,因此客户端的浏览器可以解释它,

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

您可以这样考虑:

  1. 您转到网站X,浏览器(客户端)将请求发送到特定页面的服务器。 在这种情况下,服务器将以HTML页面响应,而该页面将由您的浏览器呈现给您。
  2. 您已经在网站X上,您的浏览器已经为您创建了一个页面,现在您已经输入了订阅新闻通讯的内容,将您的电子邮件放入此输入中,然后单击“订阅”。 在这种情况下,其中一种情况是JavaScript将使用JSON格式将您的电子邮件发布到服务器,并且服务器将对与HTML关联的JavaScript做出一些确认(也是JSON格式)的响应,这将为您显示。

为了避免重新加载已经为您呈现的页面,可以使用第二种情况。

您可以在浏览器中转到开发人员工具 ,可以显示network区域 ,并且可以观察到客户端和服务器之间来回发送的不同HTTP消息。

有关更多信息,我建议阅读https://developer.mozilla.org/pl/docs/Web/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之后,将接收到的数据打印到HTML元素“ demo”

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM