JQuery Ajax返回bool(false)

时间:2015-12-10 08:23:55

标签: javascript php jquery ajax

我一直在寻找与我的问题相关的其他问题,但似乎没有一个与我的确切情况相符。我正在尝试创建一个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']));

6 个答案:

答案 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

Instead of

<?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;}});