我們最近移動了服務器並注意到一些奇怪的問題。 我們注意到的主要問題是任何在php中執行空檢查的變量都被解釋爲一個字符串。空作爲字符串發送「null」
例如
if($var == null){
//do something
}
已經取得的兩個關鍵的變化是:從HTTP服務器 1.更改爲從PHP版本HTTPS 2.更改,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 2012-08-14 00:18:20
在上面添加了一個示例@nnnnnn – TStu 2012-08-14 00:35:00