使用jquery发布JSON数据给了我空变量

时间:2016-04-22 11:59:22

标签: javascript php jquery json

我有这个html / javascript:

<html>
    <head>
    </head>
    <body>
        <script src="view/backoffice/assets/plugins/jquery/jquery-1.11.1.min.js" type="text/javascript"></script>
        <script>
            $(document).ready(function(){
                var data = {'user_id':'2680',
                            'ship_to_name':'John Doe',
                            'ship_to_address':'Somewhere in Jawa Timur',
                            'ship_to_city':'Surabaya',
                            'ship_to_area':'Wonocolo',
                            'ship_to_phone':'080000000'};

                $.ajax({
                    url: "../controller/ctrl.php",
                    type: 'POST',
                    contentType:'application/json',
                    data: JSON.stringify(data),
                    dataType:'json'
                });
            });
        </script>
    </body>
</html>

我的服务器上有这个PHP:

<?php
    $jsonReceiveData = json_encode($_POST);
    file_put_contents('storedvar.php', $jsonReceiveData);
?>

但我在storedvar.php得到的只是json的空变量。就像这个[]

为什么我不能让json发送数据?谢谢。

1 个答案:

答案 0 :(得分:-1)

您的数据是json,而不是字符串。

像这样替换它但不要拆分线。

module.exports = {
  getStudentSubject : function(req, res, next, callback){
    //get the data from Subject controller
    sails.controllers.subject.science(req, res, next, function(data){
      // got the data
      console.log(data)
      // this should print ["Biology", "Physics", "Chemistry"]
    });
  }
}

如果有效,你可能希望删除stringify并查看原始json是否有效。