2017-05-04 34 views
7

Tôi muốn gửi yêu cầu POST tới tệp PHP để xử lý và lưu trữ dữ liệu trong cơ sở dữ liệu .. Tôi khá mắc kẹt vì $ _POST vẫn trống bất cứ điều gì tôi cố gắng ..ReactJS & Axios/PHP - Gửi yêu cầu POST

Ai đó có thể giúp tôi gửi yêu cầu đăng bài và giúp tôi cách xử lý yêu cầu đó không?

Axios tôi yêu cầu:

// Performing a POST request 
axios.post('dev/api/post.php',{ text: text, unk: unk}) 
    .then(function(response){ 
     console.log(response); 
}).catch(function (error) { 
     console.log(error); 
}); 

Và đây là những gì tôi kinda cố gắng trong PHP, một số mã là nhận xét ra vì không chắc chắn nếu nó làm việc ..

if(isset($_POST) && !empty($_POST)){ 
/* 
$jsonReceiveData = json_encode($_POST); 
$json_output = json_decode($jsonReceiveData); 
$task = $json_ouput->text; 
$uniquekey = $json_output->unk; 
*/ 
echo $_POST; 
/* 
$stmt = $pdo->prepare("INSERT INTO todo (id, tekst, uniquekey) VALUES ('', :tekst, :unk)"); 
$stmt->bindParam(':unk', '1'); 
$stmt->bindParam(':tekst','testing'); 
$stmt->execute(); 
*/ 

}

GIẢI PHÁP:

$data = json_decode(file_get_contents("php://input"), true); 
$task = $data['text']; 

Đối tượng được tìm thấy trong php: // đầu vào

+0

Cú pháp yêu cầu trục của bạn có vẻ chính xác, giả sử {text: text, unk: unk} tetxt và unk có dữ liệu trong chúng, là điểm cuối api của bạn có đúng không? – David

+0

$ _POST là một mảng, echo sẽ không hoạt động, cố gắng print_r ($ _ POST) –

+0

@David Có lẽ điểm cuối của tôi là không đúng, nhưng làm thế nào để xử lý đối tượng JSON trong PHP mà Axios được đăng? Tôi không biết làm thế nào để acces nó trong PHP –

Trả lời

0

Người dùng giải quyết nó "tìm kiếm" các đối tượng trong php: // đầu vào

$data = json_decode(file_get_contents("php://input"), true); 
$task = $data['text']; 

Như đã chỉ bởi STEEL, đó là một vấn đề tại Mã PHP, không phải là React hoặc Axios.

Các vấn đề liên quan