我想知道如何将值从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;
}
答案 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.log
或alert
来检查变量password
是否符合预期。如果不是,您需要检查js
或html
代码的错误。
以下是我认为你想要实现的一个例子(不确定我是否理解正确)
修改强>
<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?