[英]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.