Ajax post 至 PHP 无效
Ajax post to PHP not working
嗨,我在对 php 文件执行 ajax post 时遇到问题,但在 php 文件中它是空的
JS
google.maps.event.addListener(marker, 'click', function(marker, i) {
return function() {
var rid = locations[i][4]; //get id to varible
console.log(rid);
$.ajax({
url: uri+'/helper.php',
type: 'post',
data: {'referens': rid},
success: function(data){
console.log(rid);
window.location = uri+'/helper.php';
},error: function(data){
alert('error');
}
});
}
}(marker, i));
和我的helper.php
<?php
$referens = $_POST['referens'];
echo $referens;
echo 1;
?>
helper.php 中的输出只有 1 而不是我的引用 post
如果我想在与 location.reload();
相同的文件中像这样使用它怎么办
success: function(data){
console.log(data);
location.reload();
},error: function(data){
alert('error');
}
});
}
}(marker, i));
</script>
<?php include_once('helper.php');
var_dump($referens); ?>
和helper.php
<?php
$referens = $_REQUEST['referens'];
echo $referens;
echo 1;
?>
您的代码看起来不错。
您正在打印错误的变量。
改变
success: function(data){
console.log(rid);
window.location = uri+'/helper.php';
}
到
success: function(data){
console.log(data); // Here you are getting return in data not as rid
window.location = uri+'/helper.php?rid='+rid; // See, pass rid here.
}
在helper.php
<?php
$referens = $_REQUEST['referens'];
echo $referens;
echo 1;
?>
根据您对其他答案和您的 post 的评论,我想提一下:
console.log(rid);
window.location = uri+'/helper.php';
在你的成功回调中 rid
是 91
因为它应该是根据你的评论,这是绝对正确的,因为在 php
文件中你试图访问 POST
变种。
但是当这一行执行时 window.location = uri+'/helper.php';
然后位置改变并且它发出 GET
请求,所以它失败了。
要在 PHP
结束时获取此变量,您应该尝试使用 $_REQUEST('referens')
并且必须像这样使用 url 发送它:
window.location = uri+'/helper.php?referens=' + rid;
在你的 php 端:
<?php
$referens = $_REQUEST['referens']; // <---change here.
echo $referens;
echo 1;
?>
来自文档 [$_REQUEST()
]:
一个关联数组,默认包含 $_GET, $_POST
和 $_COOKIE
的内容。
嗨,我在对 php 文件执行 ajax post 时遇到问题,但在 php 文件中它是空的
JS
google.maps.event.addListener(marker, 'click', function(marker, i) {
return function() {
var rid = locations[i][4]; //get id to varible
console.log(rid);
$.ajax({
url: uri+'/helper.php',
type: 'post',
data: {'referens': rid},
success: function(data){
console.log(rid);
window.location = uri+'/helper.php';
},error: function(data){
alert('error');
}
});
}
}(marker, i));
和我的helper.php
<?php
$referens = $_POST['referens'];
echo $referens;
echo 1;
?>
helper.php 中的输出只有 1 而不是我的引用 post
如果我想在与 location.reload();
相同的文件中像这样使用它怎么办 success: function(data){
console.log(data);
location.reload();
},error: function(data){
alert('error');
}
});
}
}(marker, i));
</script>
<?php include_once('helper.php');
var_dump($referens); ?>
和helper.php
<?php
$referens = $_REQUEST['referens'];
echo $referens;
echo 1;
?>
您的代码看起来不错。
您正在打印错误的变量。
改变
success: function(data){
console.log(rid);
window.location = uri+'/helper.php';
}
到
success: function(data){
console.log(data); // Here you are getting return in data not as rid
window.location = uri+'/helper.php?rid='+rid; // See, pass rid here.
}
在helper.php
<?php
$referens = $_REQUEST['referens'];
echo $referens;
echo 1;
?>
根据您对其他答案和您的 post 的评论,我想提一下:
console.log(rid);
window.location = uri+'/helper.php';
在你的成功回调中 rid
是 91
因为它应该是根据你的评论,这是绝对正确的,因为在 php
文件中你试图访问 POST
变种。
但是当这一行执行时 window.location = uri+'/helper.php';
然后位置改变并且它发出 GET
请求,所以它失败了。
要在 PHP
结束时获取此变量,您应该尝试使用 $_REQUEST('referens')
并且必须像这样使用 url 发送它:
window.location = uri+'/helper.php?referens=' + rid;
在你的 php 端:
<?php
$referens = $_REQUEST['referens']; // <---change here.
echo $referens;
echo 1;
?>
来自文档 [$_REQUEST()
]:
一个关联数组,默认包含 $_GET, $_POST
和 $_COOKIE
的内容。