当前位置: 首页 > 面试题库 >

使用jquery ajax将JSON发布到PHP

董联
2023-03-14
问题内容

我有一个简单的php文件,它可以解码我的json字符串,并与ajax一起传递并标记结果,但是我不能保留$_POST变量,为什么?

我尝试使用fireBug进行检查,我可以看到POST请求已正确发送,当调用 php
脚本时,他对我做出了Noooooooob的响应,似乎已设置了任何POST变量。

我想要的就是拥有我的数组=)

JSON字符串由生成JSON.stringify

[
   {
      "id":21,
      "children":[
         {
            "id":196
         },
         {
            "id":195
         },
         {
            "id":49
         },
         {
            "id":194
         }
      ]
   },
   {
      "id":29,
      "children":[
         {
            "id":184
         },
         {
            "id":152
         }
      ]
   },
   ...
]

的JavaScript

$('#save').click(function() {
  var tmp = JSON.stringify($('.dd').nestable('serialize'));
  // tmp value: [{"id":21,"children":[{"id":196},{"id":195},{"id":49},{"id":194}]},{"id":29,"children":[{"id":184},{"id":152}]},...]
  $.ajax({
    type: 'POST',
    url: 'save_categories.php',
    dataType: 'json',
    data: {'categories': tmp},
    success: function(msg) {
      alert(msg);
    }
  });
});

save_categories.php

<?php
  if(isset($_POST['categories'])) {
    $json = $_POST['categories'];
    var_dump(json_decode($json, true));
  } else {
    echo "Noooooooob";
  }
?>

问题答案:

如果您删除了代码dataType: 'json',则只需对其进行测试即可。

$('#save').click(function() {
  var tmp = JSON.stringify($('.dd').nestable('serialize'));
  // tmp value: [{"id":21,"children":[{"id":196},{"id":195},{"id":49},{"id":194}]},{"id":29,"children":[{"id":184},{"id":152}]},...]
  $.ajax({
    type: 'POST',
    url: 'save_categories.php',
    data: {'categories': tmp},
    success: function(msg) {
      alert(msg);
    }
  });
});


 类似资料:
  • 问题内容: 我可能还差得远,但是我整个下午一直在尝试在本教程PHP框架教程中运行curlpost命令。我不明白的是PHP应该如何解释我的POST,它总是以空数组的形式出现。 (其中的斜线只是让我看起来不像是个白痴,而是我使用PHP 5.2在Windows上执行此操作,也曾在与Linux curl相同版本的Linux服务器上尝试过) 我必须缺少一些东西,因为它看起来很简单,帖子解释得不好,如果可以的

  • 问题内容: 我试图向laravel发送json的发布请求。该请求在服务器上收到,但是当我尝试访问属性时,我得到: “试图获取非对象的属性” 。在客户端上,我正在使用angularjs。 角度: laravel: 注意:我可以在Fiddler中看到正在发送的JSON是有效的,并且到达了controller + method(http 200)。 帖子请求本身(如Fiddler所示) 问题答案: La

  • 问题内容: 我希望我的ruby on rails应用程序中的用户能够将票证提交到我的外部票证管理系统squishlist.com。它们具有如下的api和说明。您需要进行身份验证并获得令牌,然后使用令牌提交票证。来自squishlist。 为了进行测试,我创建了一个控制器,路由和视图(页面)以进行测试。在我的控制器上,我有以下内容 然后,我有一个页面可以查看控制器操作的结果,并且具有以下代码。 我知

  • 问题内容: 有种棘手的问题。 我正在做一个项目,当用户在自助服务台上结帐时,我们需要允许收据打印输出。出于与驱动程序和格式有关的原因,我使用COM自动处理和Word处理打印收据。我已将此代码包装在本地计算机上运行的Web服务中。 计划是在页面html中放置一个简单的jQuery ajax调用到运行Web服务的本地计算机的url。该ajax调用包含该顺序的json对象,该对象由Web服务反序列化并打

  • 问题内容: 我正在创建一个REST API,它将接受JSON请求。 我正在使用CURL进行测试: 但是出现以下错误: 调试时,它甚至都不会进入控制器中的create动作。 更新 我将Jackson配置添加到AppConfig.java: 我的GET现在可以正常工作了: 但是尝试POST时得到以下信息: 我的模特: 有什么想法我要去哪里吗? 谢谢 问题答案: 正如sdouglass所建议的那样,Sp

  • 问题内容: 我已经安装了Apache2并且Python运行正常。 我有一个问题。我有两页。 一个是Python页面,另一个是带有JQuery的HTML页面 有人可以告诉我如何使我的ajax帖子正常工作。 和Python代码 问题答案: 好的,让我们转到您的更新问题。 首先,您应该以字符串表示形式传递Ajax数据属性。然后,因为你混合和性质,变化值: 最后,如下修改您的代码以使用JSON请求: 结果