[英]JQuery Ajax returning bool(false)
我一直在寻找与我的问题有关的其他问题,但是似乎没有一个与我的实际情况相符。 我正在尝试创建一个JavaScript变量,该变量将与Ajax一起发布到代码中更下方的PHP变量中。 希望正确设置了变量后,我尝试过POST和var_dump结果,但是它不是我希望的“ 0”,而是令人沮丧的bool(false)。 我已经读到这可能是url的问题(因为我从同一文件POST)或其他一些与将数据传输到Ajax请求有关的问题,尽管到目前为止我还无法解决问题。 在控制台中测试数据也没有显示任何内容,因此我不得不在这里提问。 感谢您的帮助或指导。
Java脚本
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']));
添加一个称为offfest
的index
$.ajax({
url: 'index.php',
type: 'POST',
data: {offset:offset},
success:function(data){
return data;
}
});
您可以尝试:
jQuery(document).ready(function(){
$.ajax({url: 'index.php', type: 'POST', data: {offset: parseInt("0")}, success:function(data){return data;}});
});
我对PHP并不完全熟悉,但是在您的JavaScript代码中,数据应该是Ajax发布的字典。 类似于{'offset':0}
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'])));
您的问题是您在php中使用var_dump
。
这从字面上返回字符串: "bool(true)"
。
请使用var_export
。
代替 :
<?php var_dump(isset($_POST['offset'])); ?>
用途 :
<?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
您应该给offset变量起一个名字,以便将data参数更改为JSON格式:
$.ajax({url: 'index.php', type: 'POST', data:{ 'offset': offset},success:function(data){return data;}});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.