Javascript 如何从PHP获取数组并使用数组中的值?

Javascript 如何从PHP获取数组并使用数组中的值?,javascript,php,html,arrays,Javascript,Php,Html,Arrays,我在index.html中有一个下拉菜单和javascript。为了清楚起见,我删除了大部分选项(超过20个)。它将下拉菜单选择发送到engine.php index.html <script> function refreshpage(e) { var e = document.getElementById("sr"); var snk = e.options[e.selectedIndex].value; window.location.href =

我在index.html中有一个下拉菜单和javascript。为了清楚起见,我删除了大部分选项(超过20个)。它将下拉菜单选择发送到
engine.php

index.html

<script>
function refreshpage(e)
{   
    var e = document.getElementById("sr");
    var snk = e.options[e.selectedIndex].value;
    window.location.href = "engine.php?selectedOption=" + snk;
}
</script>

<h4>Select your option</h4>
    <form action="" id="optionform" onsubmit="return false;">
        <select class="item_options" id="sr" name='sr' onchange="refreshpage(this);">
             <option value="None">Select option</option>
             <option value="Option1">Option 1</option>
             <option value="Option1">Option 2</option>
             <option value="Option1">Option 3</option>
        </select>
    </form>

功能刷新页面(e)
{   
var e=document.getElementById(“sr”);
var snk=e.options[e.selectedIndex].value;
window.location.href=“engine.php?selectedOption=“+snk;
}
选择您的选项
选择选项
选择1
选择2
选择3

当您选择一个选项时,它会将该选项发送到engine.php

engine.php

<?php
$option1 = 5;
$option2 = 10;
$final = array($option1, $option2);
if($_GET["selectedOption"] == 'Option1')
{
    $option1 = 20;
    $option2 = 20;

}
?>


如何将
$final
发送回index.html并使用javascript使用
$final
数组中的值(
$option1
$option2
)。我基本上想刷新
index.html
并使用新的更新值(
$option1=20;$option2=20;

您可以按照@Hackerman的建议使用ajax,这很可能是我会使用的方法

或者,您可以将重定向添加到engine.php页面的末尾,并将用户发送回索引页面

$newURL = "index.php?values=$newValues";
header('Location: '.$newURL);

要采用这种方法,您的索引页需要在加载时处理values参数。

您可以按照@Hackerman的建议使用ajax,这很可能是我将使用的方法

或者,您可以将重定向添加到engine.php页面的末尾,并将用户发送回索引页面

$newURL = "index.php?values=$newValues";
header('Location: '.$newURL);

要采用这种方法,您的索引页需要在加载时处理values参数。

这只能使用AJAX完成。 将AJAX发送到somepage.php,在那里返回带有$final的json。
在做某事之后。

这只能使用AJAX来完成。 将AJAX发送到somepage.php,在那里返回带有$final的json。
之后做点什么。

如果你不在乎URL是什么,你可以
要求
在engine.php中使用index.html:


因此,index.html中的一些PHP内容:


功能刷新页面(e)
{   
var e=document.getElementById(“sr”);
var snk=e.options[e.selectedIndex].value;
window.location.href=“engine.php?selectedOption=“+snk;
}

如果您不在乎URL是什么,您可以
要求
在engine.php中使用index.html:


因此,index.html中的一些PHP内容:


功能刷新页面(e)
{   
var e=document.getElementById(“sr”);
var snk=e.options[e.selectedIndex].value;
window.location.href=“engine.php?selectedOption=“+snk;
}

您可以使用ajax来来回发送数据。使用jquery,您可以执行以下操作:

var final;
$.ajax({
    url: 'engine.php',
    data: { selectedOption: $('#optionform').find(":selected").text() },
    dataType: 'json',
    success: function(data) {
        final = data;
    }
});

然后在
engine.php
中,
echo json\u encode($final)

您可以使用ajax来来回发送数据。使用jquery,您可以执行以下操作:

var final;
$.ajax({
    url: 'engine.php',
    data: { selectedOption: $('#optionform').find(":selected").text() },
    dataType: 'json',
    success: function(data) {
        final = data;
    }
});

然后在
engine.php
中,
echo json\u encode($final)

您可以使用
ajax
json\u编码的组合
您可以使用
ajax
json\u编码的组合
一种方式,但不是唯一的方式。举个例子怎么样?一种方法,但不是唯一的方法。举个例子怎么样?我需要将它从index.html改为index.php,对吗?这可能取决于服务器上如何配置php。在我的服务器上,所有文件都是PHP解析的。试试看。我需要将它从index.html更改为index.php,对吗?这可能取决于服务器上如何配置php。在我的服务器上,所有文件都是PHP解析的。试试看。