JavaScript:从 php 中获取文本并发出警报

JavaScript: Fetch text from php and alert

相当菜鸟的问题,但我第一次尝试使用 php,但无法让它工作...

我有最基本的php文件

<?php
echo 'Hello World!';
?>

然后我尝试获取输出并发出警告。只是为了学习如何做到这一点...

我的 JS 代码(或多或少像 here):

fetch('./test.php').then(function(response) {
    return response.text().then(function(text) {
        alert(text);
    });
});

两个文件(test.php 和 js 文件在同一文件夹中)。

有人能告诉我这里有什么问题吗?

谢谢, 塞尔德里

fetch() 方法 returns 一个 Promise,因此您可以使用 then() 和 catch() 方法来处理它:

fetch(url)
.then(response => {
    // handle the response
})
.catch(error => {
    // handle the error
});

在实践中,您经常将 async/await 与 fetch() 方法一起使用,如下所示:

文件 1:readme.php

<?php echo 'Hello World!'; ?>

文件 2:fetch.php

<script type="text/javascript">
async function fetchText() {
    let response = await fetch('./readme.php');

    console.log(response.status); // 200
    console.log(response.statusText); // OK

    if (response.status === 200) {
            let data = await response.text();
            console.log(data);
    }
}

fetchText();
</script>

如果你是这个意思。

$data = array("data" => $data);
echo json_encode($data);

在 js get 中,我使用的是 axios(https://axios-http.com/docs/intro) 在 console.log(response) 之后和你可以使用 response json

之后

实际上,我得到的第一条评论是正确的:它只适用于 server/localhost。我真的不知道,我很高兴有人提到它!不幸的是,该评论似乎已被某些管理员删除。所以实际上我的代码是正确的,我只需要使用 php 文件的绝对路径(虽然我不明白为什么)

所以php

<?php
echo 'Hello World!';
?>

和 JS

fetch('./test.php').then(function(response) {
    return response.text().then(function(text) {
        alert(text);
    });
});

工作。

谢谢大家, 塞尔德里