2014-12-15 22 views
6

Tôi đang tạo dữ liệu json bằng sự kiện nhấp chuột. sau đó tôi đang cố gắng gửi dữ liệu json đến tập lệnh php của tôi thông qua ajax và cảnh báo một phản hồi. Nhưng tôi không thể gửi dữ liệu json đến tập lệnh php của tôi. của nó trở lại NUll.không thể gửi dữ liệu json qua ajax

jquery kịch bản:

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


?> 

Không thể có được dữ liệu sử dụng trên kịch bản php và php trở về phản ứng NULL

+1

lỗi là gì? bất cứ điều gì trên bàn điều khiển? tab mạng? –

+0

Không thể lấy dữ liệu sử dụng trên tập lệnh php và trả về NULL trả về NULL – oyshee

+1

Làm 'print_r ($ _ POST);' trong tập lệnh PHP của bạn, điều đó sẽ cho bạn thấy vấn đề. Bạn đang cố gắng truy cập '$ _POST ['jsonObj']', khi không có khóa jsonObj trong dữ liệu bài đăng của bạn. – Seventoes

Trả lời

5

Vấn đề là bạn đang cố gửi một mảng và bạn cần gửi object :

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

Sau đó ở bên PHP của bạn, bạn có thể nhận được các văn bản có giá trị: $obj = $_POST['data'];

+0

Cảm ơn rất nhiều, Hiện tại, việc khôi phục dữ liệu. Nó trả lại dữ liệu như sau Mảng ( [dữ liệu] => Array ( [0] => Array ( [medicine_name] => napa thêm [số lượng] => 2 [giá] => 22 ) [1] => Array ( [medicine_name] => minium 10 [số lượng] => 2 [giá] => 10 ) ) ) bây giờ làm thế nào để có được tên thuốc từ mảng? echo $ _POST ['medicine_name']; không làm việc – oyshee

+0

Tôi không quen thuộc với PHP nhưng bạn cần phải truy cập vào medicine_name qua var $ obj ... có lẽ viết một cái gì đó như thế này $ obj [0] [ 'medicine_name'] – ianaya89

+0

$ obj = json_decode ($ _ POST [ 'dữ liệu ']); returing Cảnh báo: json_decode() hy vọng tham số 1 là chuỗi, mảng được đưa ra trong /home/windsys/public_html/siddiqa/function/ordermedicine.php trên dòng 7 – oyshee

0

JSON đối tượng phải là một đối tượng, không mảng. Bạn nên làm một cái gì đó như thế này.

$jsonObj = {array: jsonObj}; 
$jsonObj = JSON.stringify(jsonObj); 
Các vấn đề liên quan