繁体   English   中英

jQuery Ajax返回布尔值(false)

[英]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']));

添加一个称为offfestindex

$.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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM