2014-12-15 10 views
6

Ich erstelle ein JSON-Daten mit einem Klick-Ereignis. dann versuche ich, die json-daten über ajax an mein php-script zu senden und eine antwort zu geben. Aber ich kann die JSON-Daten nicht an mein PHP-Skript senden. seine Rückkehr NULL.nicht möglich, JSON-Daten über Ajax zu senden

jquery Skript:

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


?> 

kann nicht genutzte Daten auf PHP-Skript und die php Rückkehr NULL reponse

+1

was ist der Fehler? irgendetwas auf der Konsole? Netzwerk-Tab? –

+0

Kann nicht Daten über PHP-Skript und die PHP-Rückgabe NULL Antwort – oyshee

+1

bekommen Do 'print_r ($ _ POST);' in Ihrem PHP-Skript, das sollte Ihnen das Problem zeigen. Sie versuchen auf '$ _POST ['jsonObj']' zuzugreifen, wenn Ihre Postdaten keinen jsonObj-Schlüssel enthalten. – Seventoes

Antwort

5

Das Problem ist, dass Sie bekommen versuchen, ein Array zu senden, und Sie müssen eine object senden :

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

dann in Ihrer PHP Seite können Sie den Wert Schreiben erhalten: $obj = $_POST['data'];

+0

Vielen Dank, jetzt ist es die Daten zurück. Es Rückgabe der Daten wie folgt Array ( [Daten] => Array ( [0] => Array ( [medicine_name] => napa zusätzliche [Menge] => 2 [Preis] => 22 ) [1] => Array ( [medicine_name] => 10 minium [Menge] => 2 [Preis] => 10 ) ) ) Wie bekomme ich nun den Medikamentennamen aus dem Array? echo $ _POST ['Medizinname']; funktioniert nicht – oyshee

+0

Ich bin nicht vertraut mit PHP, aber Sie müssen den medicin_name über die $ obj var zugreifen ... wahrscheinlich schreiben etwas wie diese $ obj [0] ['medicin_name'] – ianaya89

+0

$ obj = json_decode ($ _ POST ['Daten ']); returing Warnung: json_decode() erwartet Parameter 1 als String, Array in /home/windsys/public_html/siddiqa/function/ordermedicine.php in Zeile 7 – oyshee

0

JSON-Objekt sollte ein Objekt sein, nicht-Array. Du solltest lieber so etwas tun.

$jsonObj = {array: jsonObj}; 
$jsonObj = JSON.stringify(jsonObj); 
Verwandte Themen