json_encode()我的php数组后怎么办?

时间:2019-06-05 21:20:27

标签: javascript php json

我对php和javascript都是陌生的,无法理解如何在两者之间进行通信。我有一个PHP数组,我使用json_encode()将其转换为json,现在我只是不知道该怎么做。我一直在四处张望,却无法从那里找到答案。我可以打印吗?如果我确实打印了它...我该如何使用JavaScript来抓取它。我无法使用php变量名称,因为javascript无法理解。我只是不理解这个概念。

1 个答案:

答案 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
});