【问题标题】:JavaScript Array to PHP on another page另一个页面上的 JavaScript 数组到 PHP
【发布时间】:2012-07-11 18:44:39
【问题描述】:

我正在尝试将我在 JavaScript 中创建的两个数组传递给另一个 php 页面。我对此进行了研究,但我不知道我做错了什么。我一直在关注许多论坛和教程,但我似乎无法让我的工作。 我有一个表格,你可以添加额外的行,这就是我有数组的原因。当用户在“process.php”上按下提交时,这个函数被调用:

$("#submit").click(function() {
    var accosArray = new Array();
    accomp = $("#TextBoxDiv1 textarea[name=sacco]").val();
    accosArray.push(accomp);
    alert(accosArray[0]);
    for (var i = 2; i < counter; i++) {
        accomp = $("#TextBoxDiv1" + i + " textarea[name=sacco]").val();
        accosArray.push(accomp);
        alert(accosArray[i - 1]);
    }
    var tasksArray = new Array();
    taskSelect = $("#TextBoxDiv1 select[name=lstDropDown_A]").val();
    if (taskSelect == "") {
        //If user entered a task
        taskOther = $("#TextBoxDiv1 input[name=textboxoption_A]").val();
        tasksArray.push(taskOther);
        alert(tasksArray[0]);
    } else {
        tasksArray.push(taskSelect);
        alert(tasksArray[0]);
    }
    for (var i = 2; i < counter; i++) {
        taskSelect = $("#TextBoxDiv1" + i + " select[name=lstDropDown_A]").val();
        if (taskSelect == "") {
            //If user entered a task
            taskOther = $("#TextBoxDiv1" + i + " input[name=textboxoption_A]").val();
            tasksArray.push(taskOther);
            alert(tasksArray[i - 1]);
        } else {
            tasksArray.push(taskSelect);
            alert(tasksArray[i - 1]);
        }
    }
    $.post('127.0.0.1/Working Files/Best Files/In Progress/status.php';, {
        task: tasksArray
    }, function(result) {
        alert(result[0]);
    }, 'json');
});

这会将用户输入放入数组中,然后我尝试在最后使用 $.post 方法以便能够将数组传递到下一页,但我不确定语法是否正确。

然后它被传递到下一个文件“status.php”,它在开头声明:

<?php
 session_start();
 $task=$_POST['task'];
 echo json_encode($task);
?>

回显显示为“null”。

请让我知道我做错了什么!

提前致谢!!

【问题讨论】:

  • 您的$.post 行包含一个放错位置的分号。
  • 现已移除。仍然回显“null”
  • 涉及多个步骤,错误可能在其中任何一个中。我个人会使用 Firebug 或类似工具来查看正在交换的实际请求和响应数据。并使用console.log 而不是alert(),因为它可以显示的不仅仅是纯字符串。
  • 回显$_POST['task']。最多是json_decode($task) 而不是编码。
  • 所以我正在使用萤火虫,我发现了错误在哪里,但我不明白。这就是所说的:POST .../status.php 和 jquery(第 8240 行)。来自 jquery 的行说:xhr.send( ( s.hasContent &amp;&amp; s.data ) || null ); 有什么想法吗?

标签: php javascript json post


【解决方案1】:

至少看起来像一个流氓分号:

$.post('127.0.0.1/Working Files/Best Files/In Progress/status.php';

先去掉分号...

【讨论】:

  • 删除了分号。仍然为空。顺便说一句,我对 javascript 很陌生,很抱歉我的代码混乱。
  • 您还需要在 JSON 参数周围加上引号: "task" : tasksArray
猜你喜欢
  • 1970-01-01
  • 2015-06-12
  • 1970-01-01
  • 1970-01-01
  • 2017-01-25
  • 2014-03-14
  • 2011-11-19
  • 1970-01-01
  • 2011-01-18
相关资源
最近更新 更多