将值从jQuery传递给PHP的最佳方法

时间:2015-11-11 14:14:32

标签: php jquery

我想知道如何将值从Jquery传递给PHP。我找到了类似的代码,但即使其中一个代码也没有。 每次警报都显示变量的值,但是当我打开网站时没有任何警报。 Var_dump显示$ _POST为null。我没有想法你有没有?

jQuery代码:

$("#password-button").click(function(){
 var password="";
 var numbers =[0,0,0,0,0,0];
 for(var i=0;i<=5;i++){
    numbers[i] = Math.floor((Math.random() * 25) + 65);
    password += String.fromCharCode(numbers[i]);
 }
   $(".LoginError").text("Nowe haslo: " + password);

  $.ajax({
                    type: 'post',
                    url: 'dzialaj.php',
                    data: {'password': password},
                    cache:false,
                    success: function(data)
                    {
                        alert(data);
                         console.log(result)
        console.log(result.status);
                    }
                });

});

PHP:

if(isset($_POST['password'])){
$temp = $_POST['password'];
echo $temp;
}

1 个答案:

答案 0 :(得分:4)

既然看起来你是ajax的新手,那么试试一下更简单的确定吗?检查此js

<script>
var string = "my string"; // What i want to pass to php

 $.ajax({
    type: 'post', // the method (could be GET btw)
    url: 'output.php', // The file where my php code is
    data: {
        'test': string // all variables i want to pass. In this case, only one.
    },
    success: function(data) { // in case of success get the output, i named data
        alert(data); // do something with the output, like an alert
    }
});
</script>

现在我的 output.php

<?php

if(isset($_POST['test'])) { //if i have this post
    echo $_POST['test']; // print it
}

所以基本上我有一个js变量并在我的php代码中使用。如果我需要回复,我可以从php获取回复并将其返回js,就像变量data一样。

到目前为止一切正常吗?大。现在用您当前的代码替换上面提到的js。在运行ajax之前,只需执行console.logalert来检查变量password是否符合预期。如果不是,您需要检查jshtml代码的错误。

以下是我认为你想要实现的一个例子(不确定我是否理解正确)

修改

<script>
var hash = "my hash";

 $.ajax({
    type: 'post',
    url: 'output.php',
    data: {
        'hash': hash        },
    success: function(data) {
        if (data == 'ok') {
            alert('All good. Everything saved!');
        } else {
            alert('something went wrong...');
        } 
    }
});
</script>

现在我的 output.php

<?php

if(isset($_POST['hash'])) {
    //run sql query saving what you need in your db and check if the insert/update was successful;
    // im naming my verification $result (a boolean)
    if ($result) echo 'ok';
    else echo 'error';
}

由于页面不会重定向到php,因此您需要在ajax中回复以了解php代码的结果(如果成功与否)。

以下是我在评论中提到的其他答案:

How to redirect through 'POST' method using Javascript?

Send POST data on redirect with Javascript/jQuery?

jQuery - Redirect with post data

Javascript - redirect to a page with POST data