我试图传递来自提示的数据,但PHP没有收到数据。
<script>
function test(){
var r=prompt("blaksasda");
if(r){
$.ajax({
type: "POST",
url: "file.php",
data: {
param:r,
}
});} };
</script>
PHP文件:
<?php
echo "$_POST['param']";
?>
答案 0 :(得分:2)
你确定PHP没有收到数据吗?可能Ajax调用正常工作。问题是您没有处理回显的结果。 请尝试以下方法:
$.ajax({
type: "POST",
url: "file.php",
data: {param: r}
}).done(function(result) {
alert(result);
});
答案 1 :(得分:0)
好的,让我补充一下。
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
function test(){
var r=prompt("blaksasda");
if(r){
$.ajax({
type: "POST",
url: "test.php",
data: { param: r }
}).done(function(result){
alert(result);
}).fail(function(result){
alert('failed: ' + result);
});
}
}
</script>
</head>
<body>
<button onclick="test()">Click me!</button>
</body>
</html>
test.php
看起来像这样
<?php
if (isset($_POST['param'])) {
echo $_POST['param'];
} else {
echo 'Whoops';
}
所以,当我点击按钮“点击我”时,它会调用测试功能并给你一个提示,然后输入文字,当你提交时,你会得到结果来自test.php
。我试过了,它工作正常。
更新:
不要在success
处理程序中执行警报,只需设置如下结果:
.done(function(result){
$('#result').html(result);
});
您的页面看起来像这样。无论你从你的页面得到什么,你的跨度都会有。希望它有意义。
<body>
<button onclick="test()">Click me!</button>
<br/>
Prompt result: <span id="result"></span>
</body>