2011-09-14 62 views
0

我想要使用php和ajax编码错误回调。

我不能让过去的,我assinging一个变量在PHP $_POST检查空值。如果为空,则触发错误消息。

然而,jQuery是传球后到PHP作为carton%5B0%5D:carton%5B1%5D:

请问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

'的var_dump添加更多的POST字段修改($ _POST)'它有什么? – cspray

+0

'%5B1%5D'是URL编码'[1]'' – Joe

+0

%5B'是'['和'%5D'是']'这样做 –

回答

1

知道whetever $ _POST为空总是用var_dump函数这样

var_dump($_POST); 

,它可能发布为阵,我不太清楚,但我觉得在阿贾克斯数组是这样的:

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

阵列(2){[0] =>串(0) “”[1] =>串(0) “”}

阵列(数)指项目的阵列中的数,{[ 0],[1]}表示数组项ID意味着您可以像使用它们一样使用它们_POST [1]和$ _POST [0],=> string(0);字符串是此数组项中包含的数据类型,(0)是该项中的字符数。

检查POST数据是否为空或没有,你应该使用空()函数。

最后,用它来发布你通过jQuery想要的内容,请确保您所需要

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

什么,你也可以通过添加

, newfield: "this is the new field's content" 
+0

safad。在柱做的var_dump,它产生这样的:阵列(2){ [0] => 串(0) “” [1] => 串(0) “” } – bollo

+0

这意味着你要发送两个“无名”变量,它们都是空的,我会更新我的答案来解释的var_dump输出是如何可读不久 – SAFAD

+0

萨法德,我使用的检查空条件:ELSEIF(空($纸箱)){ //设置响应 $ response_array [ '状态'] = '错误'; $ response_array [ '消息'] = '您必须输入retrieveal纸箱'; //如果没有错误 }这是为什么不触发错误时的值是空的?那是我的帖子的一点是我张贴的人物张贴与发布的数据到PHP?谢谢 – bollo

1

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

+0

所以如何检查这些值在PHP?谢谢 – bollo

+0

@bollo,检查什么值? – Brad

+0

我是否正确地说isset代表包含数据的$ _POST,而!isset $ _POST不包含数据?在你的回答中你说过:$ _POST不会是空的那么我该如何检查这些编码字符。谢谢 – bollo

相关问题