当前位置: 首页 > 知识库问答 >
问题:

将数组从JavaScript提交到PHP

卢锋
2023-03-14
  • 首先,我将localStorage中的数组放入变量中
    var url=JSON。解析(window.localStorage.getItem(“URL”)
  • 现在我需要在同一个页面中将这个数组转换成php中的一个变量



  • 我尝试的方式

>

AJAX
我非常努力地使用AJAX,但没有达到我想要的结果。我的代码正在运行。问题是:我用JS返回变量,但我不能在php中反复使用该变量。我想在php中保留这个变量,并在同一个页面上在php中使用它


饼干
它对我非常有效。它符合我的要求<但是
数据过载发生并崩溃了<我不打算用它

简而言之,我需要将javascript中的数组转换为PHP中的数组。我将在PHP代码中连续使用我传输到PHP的数组

还是我想要的是可能的,因为php是一种服务器端语言?


  • 注:我对JavaScript或PHP的了解有限。我使用的主要语言是SWIFT。我研究这个问题已经很长时间了。谢谢你的支持

共有1个答案

唐晗昱
2023-03-14

在JavaScript中,您可以获取。

  fetch("https://yourapi.api",
  {
    headers: {
        "Content-Type": "application/json",
    },
        method: "POST",
        body: JSON.stringify({
          url: [
            "https://otherurl1.url",
            "https://otherurl2.url",
            "https://otherurl3.url"
          ]
        })
  });

如果window.localStorage.getItem("urls")是数组,你可以把url: JSON. stringify(window.localStorage.getItem("urls"))和在PHP中你可以得到

  $content = trim(file_get_contents("php://input")); //this will catch POST from JavaScript
  $decoded = json_decode($content, true); //this will decode from JSON to PHP array
  foreach($decoded['url'] as $url){
    echo $url;
  }

$decoded将作为PHP数组作为数组

在PHP中,您还可以检查post是否作为JSON发送

if ($_SERVER["CONTENT_TYPE"] === "application/json") {
    $content = trim(file_get_contents("php://input"));
    $decoded = json_decode($content, true);
}

要查看函数/方法,JavaScript将如下所示

let fetchApi = () => {
    fetch("https://yourapi.api",
      {
        headers: {
            "Content-Type": "application/json",
        },
            method: "POST",
            body: JSON.stringify({
              url: window.localStorage.getItem("urls")
            })
      });
};

PHP,你可以在任何地方使用它

public static function get_data_from_js(){
    $contentType = isset($_SERVER["CONTENT_TYPE"]) ? trim($_SERVER["CONTENT_TYPE"]) : '';
    $decoded = [];
    if ($contentType === "application/json") {
        $content = trim(file_get_contents("php://input"));
        $decoded = json_decode($content, true);
    }else{
        //You can do here anything
    }
    return $decoded;
}
 类似资料:
  • 问题内容: 我的jphp.php文件包含以下内容: 并且我的javascript文件包含以下内容: 我已经用php编码了数据数据..现在我想将这两个数据数组发送到javascript …我不知道要使用的正确命令。我对谷歌搜索感到困惑。 请帮忙 。 问题答案: 使用jQuery的简单特定示例: JavaScript页面: 在您的php中:

  • 问题内容: 是否可以在Struts2的操作中将表单的数据提交到Java Set? 动作代码: 表单代码: 问题答案: 该仅仅是一个集合,Struts2的对任何类型的集合的内部支持。但是对于这种类型的集合,您不能在OGNL表达式中使用索引。尝试

  • 问题内容: 我使用POST通过AJAX将数据提交到php文件。仅提交字符串就可以很好地工作,但是现在我想使用JSON提交JS对象并在PHP端对其进行解码。 在控制台中,我可以看到我的数据已正确提交,但在PHP端,json_decode返回NULL。 我尝试了以下方法: PHP: 和: PHP: 警报只是检查一切还好… 是的,通常的字符串被正确地回显了:-) 问题答案: 您在第一个代码中出错的地方是

  • 问题内容: 我在Subversion存储库中有一个保存的项目,并使用Jenkins进行编译。当我运行构建时,Jenkins将项目拉入工作区目录。我需要将一个更改的文件从Jenkins工作区提交到Subversion。我该怎么做?? 感谢您的回答… 问题答案: 您能否提供更多细节?确切地说,此文件是什么?为什么要在Jenkins构建中将其提交?您正在构建什么(Java?C ++ ?. NET?),以

  • 问题内容: 我有一个变量,如下所示: 该变量中包含许多城镇数据。如何有效地从数据中提取第三个元素?我,下面会是什么? 如果我想将两个值都存储在数组中怎么办?那是 我是Java的新手。我希望有一种不使用for循环的方法。 问题答案: 在较新的浏览器上,您可以使用,否则可以避免使用循环。 但是for循环更兼容。

  • 那么,我在正确的道路上吗?如果是,我做错了什么。如果我没有走对路,我该怎么办?