在服务器端从客户端接收数据

Receive data from client-side on server-side

提问人:Tolis Boskopoulos 提问时间:9/11/2023 更新时间:9/11/2023 访问量:61

问:

我有一个 html 页面,客户端在其中插入一个 url,以便它可以存储在服务器端的文件中。

我遇到的问题是我无法弄清楚如何在服务器上接收客户端数据

这是我的html脚本

<!DOCTYPE html>
<html>
    <body>
        <input type="url" id="link"><br>
        <button onclick="myFunction()">Download</button>

        <script>
            function myFunction() {
                var url= document.getElementById("link").value
            }
            
        </script>
    </body>
</html>

如何将“url”变量的数据发送到我的服务器?

我正在使用 apache,所以它自然支持 php

在函数中,我尝试将 fetch 与 php 文件结合使用

function myFunction() {
    var url= document.getElementById("link").value
    fetch(".php", {
    "method": "POST",
    "headers": {
    "Content-Type": "application/json; charset=utf-8"
                            },
    "body": JSON.stringify(url)
    }).then(function(response){
        return response.text();
    }).then(function(data){
        console.log(data);
    })
}

和 php 文件

<?php
    if(isset($_POST)){
        $data = file_get_contents("php://input");
        $link = json_decode($data);
        echo $link ;
    }

我期望从文本输入中接收 url,但控制台 .log 返回了整个 html 脚本

Javascript PHP HTML REST 阿帕奇

评论

0赞 Innovin 9/11/2023
我看不到您上面的问题中指定的任何 php 文件。

答:

0赞 Fahim Foysal 9/11/2023 #1

在脚本中,只需更新该行即可。您需要在此处提供文件名。fetch(".php", {

例如,如果处理数据的 PHP 文件的名称是 ,则必须将server.phpfetch("server.php", {

这应该可以解决您的问题。

评论

0赞 Tolis Boskopoulos 9/11/2023
我犯了这么愚蠢的错误,非常感谢先生!