В принципе вопрос относится вот сюда, но в той теме уже не один интересный вопрос ) поэтому задам здесь. [js] function show() { $.ajaxSetup({ type:"POST" }); $.ajax({ dataType: 'json', url: "server-script.php", cache: false, data: $('#ajaxForm').serialize(), success: function(data){ alert(data.result); } }); } $(document).ready(function(){ show(); }); [/js] Т.е. как бы сетапом даю понять что будет использоваться POST. Далее передаю сериализованные данные вот этой формы: HTML: <form method="post" id="ajaxForm"> <input name="test"> <input type="button" onClick="show()"> </form> А на сервере - вот это: Код (Text): echo json_encode(array('result' => $_POST['test'])); Валидный json, нормальное объявление jQuery... всё соблюдено... что не так-то?? P. S. Как трудно с одного фреймворка на другой переучиваться, оказывается....
покопайся немного в отправке запроса $.post(), указывая в конце тип json $.post('/path/to/your.php', {}, function(data){ alert(data); }, "json"); http://api.jquery.com/jQuery.post/
Gromo Ну как бы понятно, но не работает. Вот модифицированный код: [js] $(document).ready(function() { $('#btn').bind('click', function() { $.post('server-script.php', $('#ajaxForm').serialize(), function(data){ alert(data); }, "json"); }); }); [/js] HTML: <form method="post" id="ajaxForm"> <input name="test"> <input type="button" id="btn"> </form> на сервере ничего не менял.
test.php PHP: <?php if(count($_POST)>0){ echo json_encode($_POST); exit(); } ?> <html> <head> <script type="text/javascript" src="/includes/jquery.js"></script> <script type="text/javascript"> function send_post(){ $.post('/test.php', {'name':$('input[name=name]').val()}, function(data){ alert(data.name); }, "json") } </script> </head> <body> <form action="" method="post"> <input type="text" name="name" value="input_name"> <input type="submit" value="send"> <input type="button" value="ajax" onclick="send_post();"> </form> </body> </html>