我对php和javascript都是陌生的,无法理解如何在两者之间进行通信。我有一个PHP数组,我使用json_encode()将其转换为json,现在我只是不知道该怎么做。我一直在四处张望,却无法从那里找到答案。我可以打印吗?如果我确实打印了它...我该如何使用JavaScript来抓取它。我无法使用php变量名称,因为javascript无法理解。我只是不理解这个概念。
答案 0 :(得分:0)
使Javascript脚本与PHP脚本通信的最流行方法是通过异步Javascript和XML(AJAX)请求。
在AJAX请求中,您的JavaScript代码调用所需的PHP脚本,并向其发送所有必需的参数。然后,您的PHP脚本应打印(回显)结果(在您的情况下为JSON编码的数组),然后,在您的JavaScript代码中触发一个事件,您可以相应地对其进行处理。
在Javascript中,执行AJAX请求的主要方法有两种:
1-使用XMLHTTPRequest
对象:
在这种方法中,我们使用Javascript XMLHTTPRequest对象将请求发送到我们的PHP脚本,并且我们处理其onload
事件以获取响应并对其进行处理:
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", "some_url.php?param1=123");
xmlhttp.send();
xmlhttp.onload = function() {
//here the response from the PHP script is saved in the this.responseText variable
//parsing the JSON string we got into an actual array
var myArray = JSON.parse(this.responseText);
//do something with the array
}
(请注意,我们也可以处理对象的onreadystatechange
,但是onload
的处理要简单一些)
2-使用承诺(fetch
):
fetch("some_url.php?param1=123")
.then(function(response) {
return response.text();
})
.then(function(data)) {
var myArray = JSON.parse(data);
//do something with the array
});