如何将数据从JavaScript发送到PHP,反之亦然?

chu*_*tar 4 html javascript php protocols

如何将数据从JavaScript代码传递到PHP并返回.现在,我这是一个圆的方式:
PHP到JavaScript:我只是使用内联echo发送数据:

<script type="text/javascript">
    var data = <? echo $target_variable ?>
</script>
Run Code Online (Sandbox Code Playgroud)

要么

<script type="text/javascript">
    var data = <?= $target_variable ?>
</script>
Run Code Online (Sandbox Code Playgroud)

JavaScript到PHP:我会在JavaScript中创建一个表单元素,将我的数据汇总到php文件中:

<script type="text/javascript">
    var data = targetData;
    document.write("
        <form method=\"post\">
            <input type=\"hidden\" value=\""+target_value+\""></input>
        </form>
    ");
</script>
</script>
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来做到这一点?最好的做法.

Sam*_*son 5

如果您希望通过表单提交此数据,则无需使用Javascript创建表单.只需使用HTML创建一个不可见的表单,使用Javascript填充隐藏的字段,并在您准备好时自动提交.

  <form method="post" action="process.php">
    <input type="hidden" name="data" id="data" />
  </form>

  document.getElementById("data").value = "foo";
Run Code Online (Sandbox Code Playgroud)

如果你想以ajax风格的方式发送它,我建议实现jQuery,这使得这非常容易.请注意前一个案例转换为jQuery解决方案:

$.post("process.php", {data:"foo"}, function(results){
  // the output of the response is now handled via a variable call 'results'
  alert(results);
});
Run Code Online (Sandbox Code Playgroud)