AJAX请求正确通过,我用chrome的开发人员工具检查过,在quiz.php页面上有一个请求,但是当我检查$ _POST ['risultato']时,它似乎不存在。我注意到,尽管在Chrome的开发工具中有2个quiz.php元素(一个xhr是另一个文档)
我试图以多种方式更改代码,但似乎不起作用
<?php
if(isset($_POST['risultato'])){
print($_POST['risultato']);
}
?>
<script>
function inviaRisultati(ris){
$.ajax({
url: "quiz.php",
type: "POST",
cache: false,
data: {risultato: ris},
success: function(){
alert("INVIATI");
}
})
}
该程序应在quiz.php页面(激发ajax请求的同一页面)上返回结果,并应将其打印在某处
编辑:我已修复
<?php
file_get_contents('php://input');
if(isset($_POST['risultato'])){
print($_POST['risultato']);
}
?>
function inviaRisultati(param) {
return $.ajax({
url:"quiz.php",
method:"POST",
data:{action: "SLC", risultato :param},
dataType:"text"
});
}
inviaRisultati(1).done(function(response){``
document.open();
document.write(response);
});
答案 0 :(得分:0)
在Ajax中,data属性为JSON格式。 您的数据属性将是这样
data: {risultato: ris}
答案 1 :(得分:0)
嗨,你可以这样:
您的php脚本:
if (isset($_POST["action"])) {
$action = $_POST["action"];
switch ($action) {
case 'SLC':
if (isset($_POST["risultato"])) {
$response = $_POST["risultato"];
echo $response;
}
}
break;
}
在其中要执行操作的命令是SLC,UPD,DEL等,而risultato是一个参数
然后在您的ajax中
var param = $('#yourinputid').val();
function getInfo(param) {
return $.ajax({
url:"quiz.php",
method:"POST",
data:{action: "SLC", risultato :param},
dataType:"text"
});
}
这样称呼它:
getInfo(param).done(function(response){
alert(response);
//do something with your response here
})
希望有帮助
答案 2 :(得分:-2)