我正在使用点击事件创建json数据。然后我试图通过ajax将json数据发送到我的php脚本并提醒响应。但是我无法将json数据发送到我的php脚本。它的回归NUll。
jquery脚本:
var jsonObj = [];
$("#additembtn").click(function(event){
event.preventDefault();
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 SCRIPT
<?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 = json_decode($_POST['jsonObj']);
echo $obj['medicine_name'];
?>
无法在php脚本和php返回NULL响应中使用数据
答案 0 :(得分:5)
问题是您正在尝试发送数组而需要发送object
:
$.ajax({
url: "../siddiqa/function/ordermedicine.php",
type: "POST",
data: { data: jsonObj },
success:function(data, textStatus, jqXHR) { alert(data); },
error: function(jqXHR, textStatus, errorThrown) { }
});
然后在你的PHP方面,你可以得到写作的价值:$obj = $_POST['data'];
答案 1 :(得分:0)
JSON对象应该是一个对象,而不是数组。你最好做这样的事情。
$jsonObj = {array: jsonObj};
$jsonObj = JSON.stringify(jsonObj);