我需要将参数传递给jquery post,然后使用$ _POST方法获取它。但是这种方式行不通
</head>
<body>
<?php
$name = isset($_POST["name"]) ? "ok" : "error";
echo $name;
?>
<button type="button" id="getIt">Tıkla</button>
</body>
</html>
<script>
$(document).ready(function(){
$('#getIt').click(function () {
$.post( "xx.php", {"name": "xxx"})
});
})
</script>
答案 0 :(得分:0)
PHP会在执行XMLRequest之前加载整个页面。这就是为什么您无法看到价值的原因。
为了“可视化”值/响应,可以在ajax调用之后使用“ done()”方法。这将打印整个文本。
答案 1 :(得分:0)
这就是方法。我已经重写了代码 在上面的ajax / jquery代码中,我设置了将变量名设置为nancy,并且还包含了表单输入,因此您也可以得到发送表单输入数据的概念。
请确保连接到互联网,以便允许加载此jquery文件,或者您可以将jquery.min.js替换为本地文件
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript">
这是 index.php
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#getIt').click(function(){
var name = 'nancy moree';
var nickname = $('#nickname').val();
if(name==""){
alert('please Enter name');
}
else if(nickname==""){
alert('please Enter Nickname');
}
else{
$('#loader').fadeIn(400).html('<span>Please Wait, Data is being processed....</span>');
var datasend = "name="+ name + "&nickname=" +nickname;
$.ajax({
type:'POST',
url:'getit.php',
data:datasend,
crossDomain: true,
cache:false,
success:function(msg){
//empty nickname box after submission
$('#nickname').val('');
$('#loader').hide();
$('#result').fadeIn('slow').prepend(msg);
}
});
}
})
});
</script>
</head>
<body>
</body>
<div id='loader'></div>
<div id='result'></div>
Enter Nick Name:<input type='text' id='nickname' name='nickname' />
<button type="button" id="getIt">Tıkla</button>
</html>
这是 getit.php
<?php
if(isset($_POST["name"])){
echo $name=$_POST["name"];
echo $nicky= $_POST["nickname"];
echo '<br>Success';
}
?>