2014-12-15 4 views
6

click 이벤트를 사용하여 json 데이터를 만듭니다. 그럼 난 아약스를 통해 내 PHP 스크립트에 json 데이터를 보내려고하고 응답을 경고하고 있습니다. 하지만 내 PHP 스크립트 json 데이터를 보낼 수 없습니다. 그것의 반환 NUll.아약스를 통해 json 데이터를 전송할 수 없습니다.

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 스크립트는

<?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']; 


?> 

NULL reponse

+1

무엇이 오류입니까? 콘솔에있는 모든 것? 네트워크 탭? –

+0

PHP 스크립트 및 NULL 응답을 반환하는 PHP에서 데이터를 사용할 수 없습니다. – oyshee

+1

PHP 스크립트에서'print_r ($ _ POST);'를 수행하면 문제가 표시됩니다. 게시물 데이터에 jsonObj 키가없는 경우'$ _POST [ 'jsonObj']'에 액세스하려고합니다. – Seventoes

답변

5

문제 복귀 PHP 스크립트와 PHP를 사용하여 데이터를 가져올 수 없습니다 당신이다 배열을 보내려고하고 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'];

+0

감사합니다. 지금은 데이터를 보유하고 있습니다. 배열 ( [데이터] => 배열 ( [0] => 배열 ( [medicine_name] => 나파 추가 [수량] => 2 [가격] => (22)를 다음과 같이 데이터를 반환 ) [1] => 배열 ( [medicine_name] => minium 10 [수량] => 2 [가격] => 10 ) ) ) ,배열에서 의학 이름을 얻는 방법? echo $ _POST [ 'medicine_name']; 작동하지 않습니다 – oyshee

+0

저는 PHP에 익숙하지 않지만 $ obj var을 통해 medicine_name에 액세스해야합니다. 아마도 $ obj [0] [ 'medicine_name'] – ianaya89

+0

$ obj = json_decode ($ _ POST [ 'data '])); returing 경고 : json_decode()는 매개 변수 1을 문자열로, array가 /home/windsys/public_html/siddiqa/function/ordermedicine.php에 있다고 가정합니다. – oyshee

0

JSON 객체는 객체가 아닌 배열이됩니다. 이런 식으로 하는게 좋을거야.

$jsonObj = {array: jsonObj}; 
$jsonObj = JSON.stringify(jsonObj); 
관련 문제