繁体   English   中英

使用JQuery发送到php的JSON数据不起作用

[英]JSON data sent using JQuery to php not working

我有这段代码,可以使用JQuery将JSON数据发送到php文件,但无法正常工作。 它在控制台中显示无错误,但不输出。 如果使用var_dump,它将在php文件中输出数组(0){}。 这是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);
    ?>
data: "msg_top",

应该没有引号:

data:msg_top,

在这行上:

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

将字符串设为json:

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

还有 data: msg_top

你有没有尝试过

$msg = json_decode(stripslashes ($_POST['msg_top']), true);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM