2014-12-15 6 views
6

Я создаю данные json с событием click. то я пытаюсь отправить json-данные в свой php-скрипт через ajax и предупредить ответ. Но я не могу отправить данные json в свой php-скрипт. его возвращение NUll.не удалось отправить данные json через ajax

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 réponse

+1

Какая ошибка? что-нибудь на консоли? вкладка сети? –

+0

Невозможно получить данные на скрипте php и возврате ответа NULL php – oyshee

+1

Сделайте 'print_r ($ _ POST);' в вашем скрипте PHP, который должен показать вам проблему. Вы пытаетесь получить доступ к '$ _POST ['jsonObj']', когда в ваших данных сообщения нет ключа jsonObj. – Seventoes

ответ

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

+0

Спасибо большое, теперь его данные сохраняются. Она возвращает данные следующим образом Массив ( [данные] => Массив ( [0] => Массив ( [medicine_name] => нап дополнительных [количество] => 2 [цена] => 22 ) [1] => Массив ( [medicine_name] => сурик 10 [количество] => 2 [цена] => 10 ) ) ) теперь, как получить название лекарства из массива? echo $ _POST ['medicine_name']; не работает – oyshee

+0

Я не знаком с PHP, но вам нужно получить доступ к значению medic_name через $ obj var ... возможно, написав что-то вроде этого $ obj [0] ['medicine_name'] – ianaya89

+0

$ obj = json_decode ($ _ POST ['data «]); returing Предупреждение: json_decode() ожидает, что параметр 1 будет строкой, массив указан в /home/windsys/public_html/siddiqa/function/ordermedicine.php в строке 7 – oyshee

0

JSON объект должен быть объектом, а не массив. Тебе лучше сделать что-то подобное.

$jsonObj = {array: jsonObj}; 
$jsonObj = JSON.stringify(jsonObj); 
Смежные вопросы