恢复ajax传递给php的变量时出现问题

恢复ajax传递给php的变量时出现问题,php,jquery,ajax,Php,Jquery,Ajax,我有一个对getSegnalazioniMappa.php的“POST”ajax调用。 当我试图恢复传递的变量时,我注意到:未定义变量 JavaScript代码: $(document).ready(function(){ $('#gravita').change(function(){ var index = document.getElementById("gravita").value; $.ajax({ met

我有一个对getSegnalazioniMappa.php的“POST”ajax调用。 当我试图恢复传递的变量时,我注意到:未定义变量

JavaScript代码:

$(document).ready(function(){
    $('#gravita').change(function(){
         var index = document.getElementById("gravita").value;  

         $.ajax({
              method: "POST", 
              data:{index:index},
              url: "getSegnalazioniMappa.php",
              processData: false,
              success: function(data){
                 console.log(data);
              },
              error: function(e) {
                 alert(e.responseText);
              },
              dataType: "JSON"//set to JSON   
         }); 
    });
});
这是getSegnalazioniMappa.php

<?php
   require('../../../setup/database_connection.php');
   if(isset($_POST['index'])){  //this one is always false
    $index = $_POST['index'];
   }
?>

HTML


全套
巴萨
媒体
阿尔塔
由于没有从服务器获得任何响应,因此错误中未定义。您可以在控制台中看到

另外,
onchange=“updateTable(this.value)”
定义在哪里

$(文档).ready(函数(){
$('#gravita')。更改(函数(){
var index=$(this.val();
$.ajax({
方法:“张贴”,
数据:{index:index},
数据类型:“JSON”,
url:“getSegnalazioniMappa.php”,
processData:false,
成功:功能(数据){
控制台日志(数据);
},
错误:函数(xhr、textStatus、err){
log(“readyState:+xhr.readyState”);
log(“responseText:+xhr.responseText”);
控制台日志(“状态:+xhr.status”);
console.log(“文本状态:+textStatus”);
日志(“错误:+err”);
},
}); 
});
});

全套
巴萨
媒体
阿尔塔

您的PHP代码应该如下所示:-

<?php
   if(isset($_POST['index'])){
    echo $index = $_POST['index'];
   }
?>

ajax请求应该是:-

<script type="text/javascript">
$(document).ready(function(){
    $('#gravita').change(function(){
         var index = document.getElementById("gravita").value;  
         $.ajax({
              method: "POST", 
              data:{index:index},
              url: "getSegnalazioniMappa.php",
              processData: true,
              success: function(data){
                 alert(data);
                 console.log(data);
              },
              error: function(e) {
                 alert(e.responseText);
              },
              dataType: "JSON"//set to JSON   
         }); 
    });
});   
</script>

$(文档).ready(函数(){
$('#gravita')。更改(函数(){
var index=document.getElementById(“gravita”).value;
$.ajax({
方法:“张贴”,
数据:{index:index},
url:“getSegnalazioniMappa.php”,
processData:对,
成功:功能(数据){
警报(数据);
控制台日志(数据);
},
错误:函数(e){
警报(如responseText);
},
数据类型:“JSON”//设置为JSON
}); 
});
});   

processData应该是真的。

哪里有未定义的?当我尝试恢复$index时,可能会重复。所以我添加了isset,但它总是错误的。你能添加有问题的html代码吗?还可以在未定义时在行上给出注释。updateTable(this.value)是一个函数,但没有问题。那么,我能修好它吗?如果我想从ajax call.just
echo“success”
服务器返回一个索引值为的简单JSON,并检查.php文件应该是什么?
<script type="text/javascript">
$(document).ready(function(){
    $('#gravita').change(function(){
         var index = document.getElementById("gravita").value;  
         $.ajax({
              method: "POST", 
              data:{index:index},
              url: "getSegnalazioniMappa.php",
              processData: true,
              success: function(data){
                 alert(data);
                 console.log(data);
              },
              error: function(e) {
                 alert(e.responseText);
              },
              dataType: "JSON"//set to JSON   
         }); 
    });
});   
</script>