【问题标题】:Cant use variables received by ajax in for loop不能在for循环中使用ajax接收的变量
【发布时间】:2019-06-09 18:17:22
【问题描述】:

我正在创建一个网页,该网页从数据库接收数据,然后从结果数组中选择特定结果。

要选择的初始和结束条目从 POST 变量接收并传递到 for 循环,然后选择条目。

出于某种原因,即使这样可行:

//in php/movimientosJockeys.php

for($i = 0; $i <10; $i++)
{}

这不是

//in php/movimientosJockeys.php

$init = $_POST['init'];
$end= $_POST['end'];


$init = intval($init);
$end = intval($end);

for($i = $init; $i <$end; $i++)
{
//some code which crops between start and end of for loop
}

更新

for 循环永远不会停止,因此它永远不会裁剪它接收到的数据,整个数据库都被写入页面并折叠它。

$init 和 $end 都是从 POST 接收的,它们是通过 ajax 调用写入的。当对它们调用 var_dump() 时,它们的值为 int(0) 和 int(10)

我希望 for 循环能够在需要时接收不同的起点和终点。

更新

这是发送数据的ajax

//The function is called here
list(0,10);



//This is the defined list() function

function list(initVal,endVal){

$.ajax({
            type: "POST",
            url: "php/movimientosJockeys.php",
            data:{
                totalcarro: true,
                init: initVal,
                end: endVal
            },
            success : function(data){
                $('#tdbody').html(data);
            }
        });
}

【问题讨论】:

  • 请显示您的 JS 以及它发送的数据来自哪里。
  • 定义“不起作用”。您是否已验证 $init$end 包含您认为它们包含的内容?
  • 我根据你说的改了问题,希望这有助于澄清
  • 检查变量是否有访问问题
  • @AlexHowansky @JonStirling @sanjaya 已经对问题进行了更改,并回答了您的问题,是的,我已经用var_dump() 验证了$init and $end` 的内容,它们包含 int (0) 和 int(10)

标签: php ajax for-loop variables integer


【解决方案1】:
$_POST['init'] = 5;
$_POST['end'] = 10;

$init = (int) $_POST['init'];
$end = (int) $_POST['end'];

for($i = $init; $i < $end; $i++)
{
    echo $i . " ";
}

【讨论】:

  • 虽然此代码可能会回答问题,但提供有关此代码为何和/或如何回答问题的额外上下文可提高其长期价值。 好的答案将始终解释所做的事情以及为什么以这种方式完成,不仅是为了 OP,也是为了 SO 的未来访问者。跨度>
猜你喜欢
  • 1970-01-01
  • 2020-08-02
  • 1970-01-01
  • 2020-02-18
  • 1970-01-01
  • 2019-12-19
  • 1970-01-01
  • 2011-09-03
  • 1970-01-01
相关资源
最近更新 更多