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

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

從 php 獲取用 Ajax 發送的數據?

從 php 獲取用 Ajax 發送的數據?

PHP
滄海一幻覺 2021-06-22 17:08:27
對不起,如果這已經被問過很多次了,但我無法讓它工作。我正在嘗試建立一個寧靜的網站,我有一個簡單的表格:<form action="/my/path" method="post" id="myformid">Name <input type="text" name="name"><input type="submit" value="Test"></form>我使用 Javascript 轉換用戶輸入的數據,然后使用 Ajax 將它們發送到我的 php 文件:function postData() {    $('#myformid').on('submit', function(event) {        event.preventDefault();        const json = JSON.stringify($("#myformid").serializeArray());        $.ajax({            type: "POST",            url: "/my/path",            data: json,            success: function(){},            dataType: "json",            contentType : "application/json"        });    });}我嘗試讀取 php 上的數據,例如:$data = json_decode(file_get_contents('php://input'), true);$name = $data["name"];如果我使用 Postman 之類的工具在請求正文中發送 JSON,則代碼可以完美運行,但是從我使用 Ajax 測試的結果來看,json 數據作為 POST 數據到達,我可以使用 $_POST["name"] 讀取它,但不是像我一樣使用'php://input'。我該如何修復它以便即使通過 Javascript 發送 JSON 也能被接受?
查看完整描述

3 回答

?
白衣非少年

TA貢獻1155條經驗 獲得超0個贊

文檔.serializeArray()

.serializeArray() 方法創建一個 JavaScript 對象數組,準備好編碼為 JSON 字符串。

在同一個頁面給出的例子中,很明顯你會在 php 中得到一個數組,要訪問一個元素,你應該嘗試-

`$data[0]['name']`

另外,你試過print_r($data),它是NULL嗎??


查看完整回答
反對 回復 2021-06-25
?
慕運維8079593

TA貢獻1876條經驗 獲得超5個贊

更改您的 ajax 代碼


$('#btnSubmit').on('click', function(event) {

    event.preventDefault();

    $.ajax({

        type: "POST",

        url: "/new.php",

        data: $("#myformid").serialize(),

        dataType: "json",

        success: function(response) {

            console.log(response);

        }

    });

});

您還需要在形式上進行一些更改


<form action="new.php" method="post" id="myformid">

Name <input type="text" name="name">

<input id="btnSubmit" type="button" value="Test">

您可以在 php 文件中獲取 POST 數據,例如 $_POST['name']


查看完整回答
反對 回復 2021-06-25
  • 3 回答
  • 0 關注
  • 269 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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