我正在尝试使用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>')
}
答案 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"