2014-12-15 14 views
6

Tworzę dane json za pomocą zdarzenia kliknięcia. następnie próbuję wysłać dane json do mojego skryptu php za pośrednictwem ajax i alert odpowiedzi. Ale nie mogę wysłać danych json do mojego skryptu php. jego zwrot NUll.nie można wysłać danych json przez ajax

jQuery skrypt:

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 

     } 
}) 


}) 

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


?> 

Nie można pobrać danych używać na skrypt php i php powrocie NULL réponse

+1

jaki jest błąd? coś na konsoli? zakładka sieci? –

+0

Nie można uzyskać dostępu do danych na temat skryptu php i odpowiedzi zwracanej przez PHP NULL – oyshee

+1

Wykonaj polecenie 'print_r ($ _ POST);' w swoim skrypcie PHP, które powinno pokazać ci problem. Próbujesz uzyskać dostęp do '$ _POST ['jsonObj']', gdy nie ma klucza jsonObj w twoich danych postu. – Seventoes

Odpowiedz

5

Problemem jest to, że ciebie próbujesz wysłać tablicę i musisz wysłać object :

$.ajax({ 
    url: "../siddiqa/function/ordermedicine.php", 
    type: "POST", 
    data: { data: jsonObj }, 
    success:function(data, textStatus, jqXHR) { alert(data); }, 
    error: function(jqXHR, textStatus, errorThrown) { } 
}); 

Następnie w twojej stronie PHP można uzyskać pisanie wartość: $obj = $_POST['data'];

+0

Wielkie dzięki, Teraz odzyskuje dane. To zwracania danych następująco Tablica ( [dane] => Tablica ( [0] => Array ( [medicine_name] => napa dodatkowo [ilości] => 2 [Cena] => 22 ) [1] => Tablica ( [medicine_name] => Minia 10 [ilości] => 2 [Cena] => 10 ) ) ) teraz, jak uzyskać nazwę leku z tablicy? echo $ _POST ['medicine_name']; nie działa – oyshee

+0

Nie jestem zaznajomiony z PHP, ale potrzebujesz dostępu do medicine_name przez $ obj var ... prawdopodobnie pisze coś takiego $ obj [0] ['medicine_name'] – ianaya89

+0

$ obj = json_decode ($ _ POST ['dane "]); returing Ostrzeżenie: json_decode() oczekuje, że parametr 1 będzie ciągiem znaków, tablica podana w /home/windsys/public_html/siddiqa/function/ordermedicine.php na linii 7 – oyshee

0

JSON obiekt powinien być przedmiotem, a nie tablicą. Lepiej zrób coś takiego.

$jsonObj = {array: jsonObj}; 
$jsonObj = JSON.stringify(jsonObj); 
Powiązane problemy