【发布时间】:2012-08-10 06:11:08
【问题描述】:
我们最近移动了服务器,并注意到一些奇怪的问题。 我们注意到的主要问题是在 php 中执行空值检查的任何变量都被解释为字符串。
例如
if($var == null){
//do something
}
已进行的两个关键更改是: 1.从HTTP服务器改为HTTPS 2. php版本从5.3.14改为5.3.13
请求是使用 jQuery.ajax 后调用发出的。
我的问题是,是否有任何已知的问题/原因会发生这种情况(例如上面的更改),是否可以采取任何措施来解决问题(只需进行最小的更改)。
一如既往地感谢您的回复!
编辑: 示例
Js/jQuery
var test = null;
$.ajax({
url: 'functions.php',
data: { action: 'testNullFunction', testVar:test },
type: 'post',
success:
function (output) {
alert(output)
}})
PHP:
if (isset($_POST['action']) && !empty($_POST['action'])) {
$action = $_POST['action'];
switch ($action) {
case 'testNullFunction':
if ($_POST['testVar']==null || is_null($_POST['testVar'])){
echo "its null";
}
break;
【问题讨论】:
-
您能否举例说明在针对
null进行测试之前如何设置$var?如果它是来自 Ajax 调用的请求参数,那么在 JS/jQuery 中如何设置参数? -
在@nnnnnn 上面添加了一个示例
标签: php jquery ajax post https