无法通过ajax发送json数据

时间:2014-12-15 02:46:50

标签: javascript php jquery ajax json

我正在使用点击事件创建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响应中使用数据

2 个答案:

答案 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);