[英]Sending data to url through post to export to excel using javascript
[英]JavaScript - POST to URL not sending data
我正在尝试将 POST 数据从 Chrome 扩展程序发送到我控制的网站。 但是,在发送 POST 数据时,我没有收到任何数据。
我使用这个 function 发送它:
async function httpPost(url, data) {
const response = await fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
});
return response.json();
}
它被这样称呼:
const post = await httpPost("https://example.com/api", extracted);
其中extracted
包含类似于{entries: [], total: 0 }
的内容。
我已经在httpPost
、 response
和post
上尝试过console.log
,除了它们工作正常之外没有提供任何有用的东西。
在服务器端,为$_POST
做一个isset
确实有效。 请求正在发送并且正在被接收。 但是,做file_put_contents('test.txt', print_r($_POST));
将文件留空。 它正在被访问,只是空的。
CORS 标头已设置:
header("Access-Control-Allow-Credentials: true");
header("Access-Control-Max-Age: 1000");
header("Access-Control-Allow-Headers: X-Requested-With, Content-Type, Origin, Cache-Control, Pragma, Authorization, Accept, Accept-Encoding");
header("Access-Control-Allow-Methods: *");
header('Content-Type: application/json');
这个非常令人沮丧的问题是什么?
所需的 output:能够接收我使用httpPost
发送的 POST 数据。
请参阅https://www.php.net/manual/en/function.print-r.php - 如果您想捕获print_r
的字符串,您可以将其写入文件,例如字符串!需要设置return
参数,如文档中所述。 现在,这可能只是将 post 变量打印回 AJAX 响应,而不是打印到文件中。
例如试试这个:
file_put_contents('test.txt', print_r($_POST, true));
编辑:
由于您实际上是在请求中发送 JSON ,因此以上都不是特别适用的。
类似于使用 PHP 接收 JSON POST 中的答案
您可以将 JSON 数据读入字符串,如下所示:
$json = file_get_contents('php://input');
现在,一般来说,要处理这个问题,您可以在其上运行json_decode()
以将其转换为 PHP 变量(对象或数组,具体取决于确切的内容和您的偏好)。 但是如果你只是想把这些数据写入一个文件,你还不如直接写原始的 JSON,所以你可以简单地这样做:
file_put_contents('test.txt', $json);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.