亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

$_POST 通過 AJAX 未讀取 POST 參數

$_POST 通過 AJAX 未讀取 POST 參數

PHP
ABOUTYOU 2022-07-16 17:40:03
我一直在嘗試將數據發布到我的 PHP 腳本中,這對 POSTMAN 來說效果很好,可以正確顯示結果。但是在我的 html 項目中使用 AJAX 發送數據時,PHP 腳本沒有發送/接受數據,因此沒有顯示數據??赡艿膯栴}: JSON 數據類型不適用于 PHP 腳本,因為參數沒有被讀取$_POST['phone_num']HTML 代碼:<!DOCTYPE html><html><body><h2>The XMLHttpRequest Object</h2><button type="button" onclick="loadDoc()">Request data</button><p id="demo"></p><script>  function loadDoc() {    var xhttp = new XMLHttpRequest();    xhttp.onreadystatechange = function() {      if (this.readyState == 4 && this.status == 200) {        document.getElementById("demo").innerHTML = this.responseText;      }    };    xhttp.open("POST", "http://localhost:8888/project/my-script.php", true);    xhttp.setRequestHeader("Content-type", "application/json");    xhttp.send('{ "phone_num" : "12345678" }');  }</script></body></html>PHP 腳本:$request_method = $_SERVER['REQUEST_METHOD'];if ( $request_method == 'POST' ){      echo "This is working!!";      echo $_GET['phone_num'];}else {      echo json_encode('No defined function for this method');}試過:嘗試將數據傳遞為{ "phone_num" : 12345678 },無效關注這個鏈接:Passing data to php script via ajax post,不適合我結果:我得到This is working!!了,但沒有我通過 AJAX 通過此代碼傳遞的 phone_num觀察:有一個問題,如果我們使用$_POST['phone_num']代替$_GET['phone_num'],那么 POSTMAN 也不會返回除 之外的任何數據This is working!!。截屏:郵差:網頁:請幫助我哪里出錯了。那簡直太好了。謝謝。
查看完整描述

3 回答

?
呼啦一陣風

TA貢獻1802條經驗 獲得超6個贊

我認為這是一個更好的方法


JS


const response = fetch('http://localhost:8888/project/my-script.php', {

        method: 'POST', // *GET, POST, PUT, DELETE, etc.

        headers: {

        'Content-Type': 'application/x-www-form-urlencoded',

        },

        body: new URLSearchParams({phone_num: 12345678}).toString()

  });

PHP


 $request_method = $_SERVER['REQUEST_METHOD'];

    if ( $request_method == 'POST' ){

          echo "This is working!!";

          echo($_POST["phone_num"]);

    }else {

          echo json_encode('No defined function for this method');

    }



查看完整回答
反對 回復 2022-07-16
?
楊__羊羊

TA貢獻1943條經驗 獲得超7個贊

嘗試使用$_REQUEST而不是$_GET.

我知道使用它很蹩腳。但即使使用 ReactJS,我也面臨同樣的問題,我用這個解決了它。



查看完整回答
反對 回復 2022-07-16
?
慕沐林林

TA貢獻2016條經驗 獲得超9個贊

xhttp.open("POST", "http://localhost:8888/project/my-script.php", true);

在您上面的網址中,您似乎正在發送一個帖子請求


$request_method = $_SERVER['REQUEST_METHOD'];

if ( $request_method == 'POST' ){

      echo "This is working!!";

      echo $_GET['phone_num'];

}else {

      echo json_encode('No defined function for this method');

}

如果您的 php 函數似乎您正在phone_num使用 GLOBAL GET 數組訪問該變量。


將其更改為發布


$_POST['phone_num'];


查看完整回答
反對 回復 2022-07-16
  • 3 回答
  • 0 關注
  • 190 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號