首页 > 解决方案 > jquery post不传递数据

问题描述

根据我以前的线程,解决了由 .htaccess 规则(重写)引起的 POST 阻塞,现在我又回到了这里。我的 php 页面现在使用 html 触发一个完美的 POST。但我需要通过 js 发布数据以保留在页面上而不重定向到目标文件。所以我有一些输入选择字段,还有一个图标,在其中我调用函数 go_compute()。这是功能:

function go_compute() {
var sel_1 = document.getElementById('select_1').value;
var sel_2 = document.getElementById('select_2').value;
var sel_3 = document.getElementById('select_3').value;
$.post("compute.php",
    {
        select_1: sel_1,
        select_2: sel_2,
        select_3: sel_3
    },
    function(data,status){
        alert("Passing data: " + data + "\nStatus: " + status);
    });
}

目标 php 文件的代码如下:

$selection_1 = $_POST["select_1"];
$selection_2 = $_POST["select_2"];
$selection_3 = $_POST["select_3"];

但是,虽然使用 html 传递了 3 个值,但当我使用 js (jQuery) 时,变量会在 js 中加载(警报说),但值不会传递给 compute.php。所以 POST 不起作用。如果我进行如下检查:

if (isset($_POST["select_1"])) {
  $selection_1 = $_POST["select_1"];
} else {
  echo "Problem: not passed post select_1";
}

它确认我有问题。那么,我的 js 代码中的错误是什么?请随意建议 jQuery 或 vanilla ajax 代码。谢谢你。

标签: javascriptphpjquerypost

解决方案


推荐阅读