一淘模板56admin.com最近在开辟Web应用程序时,经常会涉及到PHP与JS之间的数据通报,尤其是通报简单的数据构造,如数组。本文主要介绍怎样应用PHP通报数组给JS,并在JS中应用这些数据。
一、将PHP数组转换为JSON体例
在PHP中,咱们能够间接应用数组来存储数据。然而在JS中,数组一般以JSON(JavaScriptObjectNotation)体例示意。JSON是一种轻量级的数据替换体例,易于明白息争决。因而,在将PHP数组通报给JS以前,咱们需要将数组转换为JSON体例。
PHP供应了一个内置函数json_encode(),能够将PHP数组转换为JSON体例。示例代码下列:
在下面的代码中,咱们界说了一个联系瓜葛数组$array,并将其转换为JSON体例,并应用echo语句将JSON输入到屏幕上。输入效果下列:
{"name":"张三","age":25,"interests":["篮球","泅水","音乐"]}
在JS中,咱们能够应用内置的JSON工具来剖析JSON数据。JSON工具中有两个主要方法:parse()以及stringify()。其中,parse()方法用于剖析JSON字符串,将其转换为JS工具或者数组;而stringify()方法用于将JS工具或者数组转换为JSON字符串。
下面是一个应用JSON.parse()方法剖析上一节中输入的JSON数据的示例代码:
var json = '{"name":"张三","age":25,"interests":["篮球","泅水","音乐"]}';var obj = JSON.parse(json);console.log(obj.name);//输入:张三console.log(obj.age); //输入:25console.log(obj.interests[0]);//输入:篮球
在下面的代码中,咱们界说了一个JSON字符串json,并应用JSON.parse()方法将其剖析为JS工具obj。而后,咱们就能够通过访问obj的属性来获取数组中的数据了。
需要细致的是,如果JSON字符串体例不准确,parse()方法会抛出异样。
现在,咱们已经通晓了怎样在PHP中将数组转换为JSON体例,并在JS中剖析JSON数据。接下来,咱们来看一下怎样将JSON数据通报给JS。
有两种罕用的方法能够将JSON数据通报给JS:间接将JSON字符串作为JS变量应用,或者应用AJAX技术从效劳器获取JSON数据。
将JSON字符串作为JS变量应用
这种方法实用于咱们已经有了JSON字符串的状况。咱们能够间接将JSON字符串作为JS变量来应用。
下面是一个将JSON字符串作为JS变量应用的示例代码:
var json = '';var obj = JSON.parse(json);console.log(obj.name);//输入:张三console.log(obj.age); //输入:25console.log(obj.interests[0]);//输入:篮球
下面的代码中,咱们在PHP代码中天生为了一个JSON字符串,并将其通报给了一个JavaScript变量json。而后咱们应用JSON.parse()方法剖析json字符串,并通过访问obj的属性来获取数组中的数据。
需要细致的是,如果JSON字符串中蕴含特别字符,比如单引号、双引号等,就能够会以致JS代码失足。为了阻挠这种状况,咱们需要在JSON字符串中应用转义字符。
应用AJAX获取JSON数据
如果JSON数据需要从效劳器消息获取,咱们能够应用AJAX(AsynchronousJavaScriptandXML)技术。AJAX能够在不革新页面的状况下,向效劳器发送申请并获取数据,而后将数据显示在页面上。
下面是一个应用AJAX获取JSON数据的示例代码:
//建立XMLHttpRequest工具var xhr;if(window.XMLHttpRequest) {xhr = new XMLHttpRequest();//IE7+、Firefox、Chrome、Opera、Safari} else {xhr = new ActiveXObject("Microsoft.XMLHTTP");//IE六、IE5} //发送AJAX申请xhr.open('GET', 'get_json.php');xhr.onreadystatechange = function() {if(xhr.readyState == 4 && xhr.status == 200) {var json = xhr.responseText;var obj = JSON.parse(json);console.log(obj.name);//输入:张三console.log(obj.age); //输入:25console.log(obj.interests[0]);//输入:篮球}}xhr.send();
在下面的代码中,咱们应用XMLHttpRequest工具建立了一个AJAX申请。而后,咱们通过调用open()方法关上申请连接,设定了申请形式为GET,设定了申请的URL为get_json.php。接着,咱们设定了onreadystatechange事件解决函数,用于在AJAX申请状态发生变化时解决返回的数据。最后,咱们通过调用send()方法发送了AJAX申请。
需要细致的是,在应用AJAX申请时,咱们需要保障申请的URL是准确的,且效劳器端能够准确地剖析申请参数并返回JSON体例的数据。
在Web应用程序开辟中,咱们经常需要将简单的数据构造(如数组)从PHP通报给JS。为了实现这个宗旨,咱们能够将PHP数组转换为JSON体例,而后在JS中剖析JSON数据。这里咱们介绍了两种通报JSON数据的方法:间接将JSON字符串作为JS变量应用,或者应用AJAX技术从效劳器获取JSON数据。在实践开辟中,咱们应当依据细致状况抉择适宜的方法,以便实现数据的高效通报。
本文链接:https://addon.ciliseo.com/shi-yong-php-chuan-di-shu-zu-gei-js-bing-chu-li-shu-ju.html
网友评论