2013-12-18 2 views
1

У меня есть следующий JQuery:Отправка AJAX для PHP не отображает

$.ajax({ 
    type: "POST", 
    url: "getchoices.php", 
    dataType: 'json', 
    data: JSON.stringify({ "userName": "test1", "password" : "test2" }) 
}); 

с соответствующими PHP:

<?php 
    $json = $_POST; 
    print_r($json); 
?> 

Однако мой выход для getchoices.php просто Array ()

Я выполнил решение ниже, с правильным выходом с консоли, однако PHP ничего не отображает.

+0

'print_r ($ JSON) 'будет отклонен jQuery: dataType применяется к ожидаемому отклику format_' print_r' недействителен JSON, используйте 'echo json_en code ($ array); вместо этого и не использовать закрывающий тег. И как никогда: _ не стройте данные самостоятельно: jQ будет сериализовать ваши данные и отправить их как 'application/x-www-form-urlencoded' –

ответ

6

Нет необходимости stringify data.Just попробовать, как этот

$.ajax({ 
     type: "POST", 
     url: "getchoices.php", 
     dataType: 'json', 
     data: { "userName": "test1", "password" : "test2" } 
    }); 

И getchoices.php

//$_POST['userName'] = test1; 
//$_POST['password'] = test2; 

$json = $_POST; 
echo json_encode($json); 
+1

Цитата, что он говорит и в документах: http://api.jquery.com /jQuery.ajax/ – brandonscript

+0

Я просто скопировал это точно и получил пустой массив в getchoices.php – user3057706

+0

Проверьте свои консоли на наличие ошибок. –

0

Используйте эту функцию PHP json_encode

$test = array('foo' => 'bar'); 
echo json_encode($test); 
+0

Это ajax javascript ... –

Смежные вопросы