基本上我所做的是使用 AJAX 自动填充文本框,以从调用 C 函数的 PHP 脚本中获取信息。
这是我在理论上发现的:(假设只接收一个值)
$(document).ready(function(){
window.setInterval(function(){
var ajaxurl = 'php/portserverclient.php',
$.post(ajaxurl, NULL, function (response) {
$('#v1').val(response);
});
}, 5000);
});
现在,如果这行得通,我相信它会成功。如果我收到一个值数组,那么函数内部的输入就不能响应,对吗?那么,我需要对其进行哪些更改才能使其成为一个数组?
需要说明的是,我的 PHP 脚本使用 echo
输出其信息。我宁愿以更“标准”的方式输出,如 V1 = 120、V2 = 120 等,但 PHP 对我来说是新的,我目前正在研究。谢谢。
编辑: 只是为了更清楚
这样的东西行得通吗?
$(document).ready(function(){
window.setInterval(function(){
var ajaxurl = 'php/portserverclient.php',
$.post(ajaxurl, NULL, function (response[]) {
$('#v1').val(response[0]);
$('#v2').val(response[1]);
$('#v3').val(response[2]);
});
}, 5000);
});
最佳答案
由于您在 PHP 端使用 echo
,响应只能是一个字符串。
但是,如果该字符串形成为有效的 JSON,您将能够像您希望的那样使用它。
所以在 PHP 端,确保 json 格式有效:
$array = [120,340,800];
echo json_encode($array);
然后在 JS 中......你收到一个字符串......你必须解析它以使其成为一个数组。
$(document).ready(function(){
window.setInterval(function(){
var ajaxurl = 'php/portserverclient.php',
$.post(ajaxurl, NULL, function (response[]) {
var responseArray = JSON.parse(response);
$('#v1').val(responseArray[0]);
$('#v2').val(responseArray[1]);
$('#v3').val(responseArray[2]);
});
}, 5000);
});
关于javascript - 如何使用调用 PHP 脚本的 AJAX 接收数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45594151/