恢复ajax传递给php的变量时出现问题
我有一个对getSegnalazioniMappa.php的“POST”ajax调用。 当我试图恢复传递的变量时,我注意到:未定义变量 JavaScript代码:恢复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
$(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.justecho“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>