0

我无法弄清楚问题出在哪里。这是我发布 JSON 的 JS 函数:

function send(var1, var2) {
    var result;
    att = window.location;
    $.ajax({
        'crossDomain': true,
        'type': 'POST',
        'async': false,
        'global': false,
        'data': {
            "event_id": var1,
            "status": var2
        },
        'url': att + 'post.php',
        'dataType': 'json',
        success: function (data) {
            result = data['result'];
        }
    });
}

在服务器端,这个(文件:post.php):

<?php
    echo $_POST;
?>

只打印“数组”。问题是我必须以这种确切的格式发送“数据”(我无法将其字符串化,然后使用 php json_decode() 函数)。我也尝试了 « file_get_contents("php://input") » 方式,但仍然没有。我不明白问题是我无法正确发布 json 还是我无法在 php 端读取它。GET方法的实验很好。对不起我的英语不好,感谢大家的关注。

4

2 回答 2

0

试试下面的js函数:

function send(var1,var2) {
   $(document).ready(function(){
      $.ajax(
      {
              url:"post.php",
        data:{event_id: var1,status: var2},
        success:function (data, textStatus){
          alert(data['status']);
        }, 
        type:"post",
                dataType: 'json'
      }
      );   
    }); 
}

在服务器端“post.php”:

echo json_encode($_POST);
于 2013-06-23T14:26:32.097 回答
0

要打印array,您可以使用print_r()php 中的函数

<?php
print_r(json_encode($_POST)); //use json_encode() since dataType in ajax call is json
?>

要打印单个值,您可以使用echo()

<?php
 echo(json_encode($_POST['event_id']));
?>
于 2013-06-23T13:08:06.910 回答