【问题标题】:How to access data sent in post request?如何访问 post 请求中发送的数据?
【发布时间】:2016-04-03 01:37:46
【问题描述】:

我有这个代码,

var items = '{"items":[{"Desc":"item1"}]}';
items = JSON.parse(items);
var data = items;
$.post( "send.php", function( data ) {
    alert( "Data Loaded: " + data );
});

如何获得物品?

这是我的php代码,

<?php
 echo $_POST['items'];
?>

是 $_POST['items'];正确的?

【问题讨论】:

  • 您尝试执行代码了吗?
  • print_r($_POST['items']);检查帖子中的内容
  • 您没有将数据传递给 php 代码。试试这个$.post( "send.php", {items: data}, function( data )
  • 事实上,在您的第一行中,您拥有所有需要在帖子中发送的内容.. 不必进行字符串化操作.. 您只需将其放在 $.post 之后的适当位置即可URL 和函数之前.. "send.php", items, function().. 函数内的数据是您将收到的回调。

标签: php ajax post


【解决方案1】:

你的:

$.post( "send.php", function( data ) {
    alert( "Data Loaded: " + data );
});

应该是:

$.post( "send.php", data, function( data ) {
    alert( "Data Loaded: " + data );
});

第二个参数是你的帖子数据应该在send.php中传递的位置

【讨论】:

    【解决方案2】:

    您需要在发布之前JSON.stringify 您的数据。此外,您的 $.post 函数看起来不正确。

    var items = {items: [{Desc:'item1'}]};//'{"items":[{"Desc":"item1"}]}';
    items = JSON.stringify(items);
    var data = items;
    $.post( "send.php", data)
      .done(function( data ) {
        alert( "Data Loaded: " + data );
      });
    

    http://api.jquery.com/jquery.post/

    【讨论】:

      【解决方案3】:

      试试这个

       <?php 
          $data = json_decode(file_get_contents($_POST["items"]), true);
          echo $data['items'][0]['Desc'];
       ?>
      

      【讨论】:

      • 这会起作用,但它不能真正解决问题,它是一种使错误代码工作的方法..
      猜你喜欢
      • 2014-01-31
      • 1970-01-01
      • 1970-01-01
      • 2020-10-19
      • 1970-01-01
      • 2011-05-22
      • 2015-01-05
      • 2021-05-04
      • 1970-01-01
      相关资源
      最近更新 更多