簡體   English   中英

發送JSON數據到PHP無法正常工作

[英]sending json data to php not working

我正在嘗試將重建的json數據發送到我的PHP腳本到php。 但是json數據發送和接收不起作用。 其返回的“ NULL”。 請告訴我如何通過ajax發送和檢索我的預制json數據。 我的代碼有什么問題。

jQuery腳本

var jsonObj = [];
var obj = {};
obj["medicine_name"]=parsed.medicine_name;
obj["quantity"]=unit;
obj["price"]=price;
jsonObj.push(obj);
console.log(jsonObj);
$("#order").click(function(event){
event.preventDefault();
//$jsonObj=JSON.stringify(jsonObj)
$.ajax({
url: "../siddiqa/function/ordermedicine.php",
type: "POST",
//dataType: "json",
data: jsonObj,
success:function(data, textStatus, jqXHR)
        {
        alert(data);

        },
error: function(jqXHR, textStatus, errorThrown)
        {
            //if fails   

        }
})


})

PHP腳本

<?php
require_once('../configuration.php');
$con=new mysqli($hostname,$dbusername,$dbpass,$dbname);
if (mysqli_connect_errno($con)) {
    die('The connection to the database could not be established.');
}
$obj = $_POST['jsonObj'];

var_dump($obj)


?>

如您的問題所述,如果您的數據確實是json數據

發送JSON數據到PHP無法正常工作

您需要取消注釋此行以發送json數據,並且此答案有效

 $jsonObj=JSON.stringify(jsonObj);

現在,由於是在php中發送的json數據,您無法通過簡單的$ _POST來獲取它,因此您需要執行此類操作才能獲取此發布的數據

$data=file_get_contents('php://input');
$dataobj= json_decode($data);

在這里,您首先獲取數據,然后將其從json解碼為普通對象

您的PHP需要一個帶有鍵jsonObj的參數,但是jsonObj是一個數組,因此它沒有任何命名鍵。 它應該是:

var jsonObj = {};
var obj = {};
obj.medicine_name=parsed.medicine_name;
obj.quantity=unit;
obj.price=price;
jsonObj.jsonObj = obj;

我不太確定為什么要嵌套這樣的對象。 您可以這樣做:

data: obj

然后在PHP腳本中,您可以訪問$_POST['medicine_name']$_POST['quantity']$_POST['price']

暫無
暫無

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

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