Данные JSON, отправленные с использованием JQuery на php, не работают - PullRequest
0 голосов
/ 24 ноября 2010

У меня есть этот фрагмент кода для отправки данных JSON в php-файл с использованием JQuery, но он не работает.Он не показывает ошибки в консоли, но не выводит.Если я использую var_dump, он выводит массив (0) {} в файле php.Вот код JQuery:

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
 "http://www.w3.org/TR/html4/strict.dtd">

<html>
<?php
   function searchResults($q) {
    $host = "http://search.twitter.com/search.atom?q=" . urlencode( $q ) . "&rpp=100";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $host);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

    //Raw xml
     $result = curl_exec($ch);
     curl_close($ch);
     $xml = simplexml_load_string($result);
     return json_encode($xml);
     } 
   ?>
   <head>
    <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js">
    </script>
    </head>
    <body>
    <script type="text/javascript"> var msg_top = <?php echo   
    searchResults('windows');?>;
    </script>
    <script type="text/javascript">
    $(document).ready(function() 
    {
     $.ajax({
     url: "script.php",
     type: "POST",
     dataType: "json",
     data: msg_top,
     success: function(){
     alert("success");
     }
    });
   alert("failure");
   });
  </script>
 </body>
</html>

Вот мой код php:

    <?php
     var_dump($_POST);
    ?>

Ответы [ 3 ]

0 голосов
/ 24 ноября 2010

В этой строке:

var msg_top = <?php echo searchResults('windows');?>;

Сделать строку json:

var msg_top = JSON.parse("<?php echo searchResults('windows');?>");

А также data: msg_top

0 голосов
/ 24 ноября 2010

Вы пробовали

$msg = json_decode(stripslashes ($_POST['msg_top']), true);
0 голосов
/ 24 ноября 2010
data: "msg_top",

должно быть без кавычек:

data:msg_top,
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...