我一直在寻找与我的问题相关的其他问题,但似乎没有一个与我的确切情况相符。我正在尝试创建一个javascript变量,我将使用Ajax POST到我的代码中的PHP变量。在希望正确设置变量后,我尝试POST和var_dump结果,但它不是我所希望的“0”,而是一个令人沮丧的bool(假)。我已经读过这可能是url的问题(因为我从同一个文件POST)或者可能是将数据传输到Ajax请求的其他一些问题,尽管我还是无法解决问题。在控制台中测试数据也没有显示任何内容,所以我不得不在这里问。感谢您的帮助或指导。
的Javascript
jQuery(document).ready(function(){var offset = parseInt("0");
$.ajax({url: 'index.php', type: 'POST', data: offset, success:function(data){return data;}});
});
PHP
<?php var_dump(isset($_POST['offset']));
答案 0 :(得分:3)
添加名为index
offfest
$.ajax({
url: 'index.php',
type: 'POST',
data: {offset:offset},
success:function(data){
return data;
}
});
答案 1 :(得分:3)
你可以试试:
jQuery(document).ready(function(){
$.ajax({url: 'index.php', type: 'POST', data: {offset: parseInt("0")}, success:function(data){return data;}});
});
答案 2 :(得分:2)
我并不完全熟悉PHP,但在您的javascript代码中,数据应该是Ajax帖子的字典。类似于{&#39; offset&#39;:0}
答案 3 :(得分:1)
JS:
var offset = parseInt("0");
$.ajax({url: 'index.php', type: 'POST', data:{offset: offset},success:function(data){alert(data.offset);}});
PHP:
<?php echo json_encode(array('offset'=>isset($_POST['offset'])));
答案 4 :(得分:1)
您的问题是您在php中使用var_dump
字面上返回字符串:"bool(true)"
。
改为使用var_export
。
<?php var_dump(isset($_POST['offset'])); ?>
Use:
<?php var_export(isset($_POST['offset'])); ?>
var_export
将输出值的字符串表示形式,而不是类型/值组合var_dump
返回。
如果您只想返回发布的值,请执行以下操作:
<?php var_export($_POST['offset']); ?>
或者:
<?php echo json_encode($_POST['offset']); ?>
请记住,您需要正确地将数据传递到post
:
data: { offset: offset }
而不是:
data: offset
答案 5 :(得分:0)
你应该为offset变量命名 所以,将您的数据参数更改为JSON格式:
$.ajax({url: 'index.php', type: 'POST', data:{ 'offset': offset},success:function(data){return data;}});