这个$ _POST被认为是空的

时间:2011-09-14 14:10:53

标签: php jquery

我正在尝试使用php和ajax编写错误回调。

我无法理解的是,我正在为PHP中的$_POST分配变量以检查空值。如果为空,则触发错误消息。

但是,jquery将帖子作为carton%5B0%5D:carton%5B1%5D:传递给php。

php会将此视为空帖吗?纸箱后这些数字等是什么?纸箱实际上是一个阵列。感谢

+++ +++ UPDATE

为什么在语句变为,空而不是空时触发错误? 这是jquery用于从滑块更改事件创建输入的代码。

for(var i = 0;i < $(this).val();i++) {
        $("#carton").append('<div data-role="fieldcontain"><label for="carton" class="ui-input-text">Enter box ' + (i + 1) + ' number:</label><input type="text" name="carton['+i+']" id="carton['+i+']" class="carton ui-input-text ui-body-null ui-corner-all ui-shadow-inset ui-body-c" /></div>')
      }

2 个答案:

答案 0 :(得分:1)

如果您要发送POST数据,那么不,$_POST不会为空。

答案 1 :(得分:1)

要知道$ _POST为空时总是使用var_dump函数,就像这样

var_dump($_POST);

它可能会被发布为数组,我不太确定,但我认为ajax中的数组是这样的:

array [
[0] => 'item',
[1] => 'item 2'
]

array(2){[0] =&gt; string(0)“”[1] =&gt; string(0)“”}

array(number)表示数组中的项目数,{[0],[1]}表示数组项ID表示可以使用它们,如$ _POST [1]和$ _POST [0],=&gt ; string(0); string是此数组项中包含的数据类型,(0)是该项中的字符数。

要检查POST数据是否为空,您应该使用empty()函数。

最后,使用它来通过jquery发布你想要的内容,确保你用你需要的东西修改它

$.post("test.php", { carton: "this is the content"} );

您还可以通过添加

添加更多POST字段
, newfield: "this is the new field's content"