簡體   English   中英

我如何接收從 JAVASCRIPT 到 PHP 的數據變量

[英]how can i recieve data variable from JAVASCRIPT to PHP

我仍然是該領域的初學者我想將信息從我從 javascript 創建的值發送到其他文件外部 php 或者我的意思是從客戶端到服務器端作為示例我有循環和值存儲在'i ' 我想把它發送到 php 怎么辦? 我用谷歌搜索了一些人說的使用 ajax 方法我仍然不知道它無論如何我嘗試作為這樣的實驗它實際上工作它只在控制台中為我打印一個值但我知道如何將它發送到 php

 var myrequest = new XMLHttpRequest(); myrequest.open('POST','upload.php',true); xhr.setRequestHeader('Content-Type',"application/x-www-form-urlencoded"); myrequest.onreadystatechange = function() { myrequest.onload = function() { console.log(this.responseText); } let data = JSON.stringify({'test': 'test'}); myrequest.send(data); }

在 php 文件中,我嘗試作為示例從 js $_post['test']調用變量我不知道如何,但它沒有用

首先,您需要將變量“數據”轉換為這樣的文本

let data = JSON.stringify({test: 'test'});

在 PHP 中,您可以使用 PHP 輸入流。 PHP 輸入流基本上是接收原始數據的方式。 您可以通過這種方式訪問​​它

$data = file_get_contents("php://input");

現在我們在 $data 變量中對 JSON 進行了字符串化。 要訪問 $data 變量中的數據,您需要使用 PHP 的 json_decode 函數。

$final_data = json_decode($data);
echo $final_data->test;

這似乎很難理解。 您應該閱讀有關數據類型的更多信息。 這樣你就可以更好地理解這個例子。 我會給你鏈接一些可能有助於你學習的東西。

String(0) 表示您的 PHP 沒有從 Javascript 接收到您的數據。 原因可能是您的 URL 沒有以正確的方式編寫。 我建議使用完整的 URL。 例如,如果您在 localhost 設置了 Web 服務器,您的 URL 應該是“http://localhost/upload.php”。

我給你做了示例代碼,你可以看看。 它的注釋可以向您解釋正在發生的每一步。 您可能很難閱讀並完全理解它,但這沒關系。 我實際上為我做了這個例子,因為我確實需要提醒自己如何做事。 我向您發布了兩個指向 Pastebin 的鏈接,您可以嘗試將它們一起使用。 我將其發布在評論中,因為我沒有找到如何從 Pastebin 發布內容來回答。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM