【问题标题】:Accessing javascript data in PHP for a HTML list访问 PHP 中的 javascript 数据以获取 HTML 列表
【发布时间】:2013-05-10 18:41:12
【问题描述】:

最简单的问题是我在客户端使用 jQuery 来操作 HTML 中的一些列表项。我将列表项和用户留下的顺序存储在一个数组中,并尝试将该数组传递给 PHP。 我不确定最好的方法是什么,我尝试过使用 json 但它对我不起作用,这可能是语法或其他问题。如果有更简单的方法可以做到这一点,我很乐意这样做。

我只是想达到一个可以在 PHP 中回显数组内容的场景。即,如果用户在第二个位置有数字 12,则可以为数字 12 回显 value[2]。

我的 HTML + Javascript 在这里。这是一个简单的 jquery 平铺列表,我想访问用户订购列表的方式。 http://jsbin.com/igewiv/2/edit

对于 JSON PHP 段,我没有从回显中得到任何返回,如果成功,我很高兴以另一种方式执行此操作。非常感谢帮助。

Javascript:

$(document).ready(function(){

    $("#sortable").on("sortupdate", function() {
        var dataArr = [];
        $("#sortable li").each(function(idx, elem) {
            dataArr[idx] = $(elem).html();
        });
        var dataStr = '{"order":' + JSON.stringify(dataArr) + '}';

        $.ajax({
            url: "fiddle.php",
            type: "POST",
            data: dataStr
        });
        alert(dataStr);
    });
});

PHP:

<?php 
$value = json_decode($_POST["dataStr"]);
$order_0=$value['order'][0];
echo $order_0;
?> 

【问题讨论】:

  • 能否将代码编辑到您的问题中?
  • 你能把你的php代码段贴在这里
  • 不要做'{"order":' + JSON.stringify(dataArr) + '}'传递数据只是传递对象为var obj = {"order":dataArr}
  • 将 php + javascript 代码添加到问题中,尽管我不确定它是否正确。
  • @scrappedcola,你的意思是 var dataStr = {"order":dataArr};?如果我不对其进行字符串化,我将如何访问 php 中对象的数据?

标签: javascript php jquery html json


【解决方案1】:

这样传递:

$.ajax({
    url: "fiddle.php",
    type: "POST",
    data: {
      orders: dataArr
    }
});

删除要对其进行字符串化的行。它不需要。

在 php 方面你应该收到

$_POST['orders']

【讨论】:

  • 我的 php 代码应该如何处理这个问题?我试过 $value = json_decode($_POST['orders']); $order_0=$value['order'][0];回声 $order_0;这是你的意思还是别的什么?
  • 您不必解码任何内容,只需使用 $_POST['orders']。试试 var_dump($_POST['orders']);你会看到结果。然后,您可以随意显示它。
  • 使用 var_dump 时返回 NULL,我发送或接收数据的方式是否有错误?更改代码 -> jsfiddle.net/dHVHQ
  • 对不起,我出去了一段时间。你能解决这个问题吗?你还需要帮助吗?如果你在 var_dump 上得到一个 NULL,这意味着你使用 ajax 发布的任何内容都是空的。在 ajax 调用之前的 javascript 中执行 console.log(dataArr) 并检查它是否已填充?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-14
  • 2021-12-03
  • 1970-01-01
  • 2011-07-30
  • 1970-01-01
  • 2015-07-24
相关资源
最近更新 更多