Ajax将值传递给其他php文件并使用if语句中的值

时间:2013-07-24 11:37:05

标签: php ajax

<td id='account_type'>Asset</td>

然后是ajax

$.ajax({
type: 'POST',
url: '__popup-window_ajax.php',
data: { 'AccountType' : $('#account_type').text() },
});

然后php

print_r($_POST['AccountType']);

完全按照此处Asset

查看单词<td id='account_type'>Asset</td>

if (($_POST['AccountType']) == 'Asset') {
echo 'Yes, Asset';
}

没有回音

有什么问题?

例如试过

$account_type = 'Asset';
if ( $account_type == 'Asset' ) {
echo 'Yes, Asset';
}

并且有效... ajax会以某种方式更改值吗?

解决方案 感谢@Ankit Pokhrel。我的愚蠢的疏忽。单词Asset后面有空格。 trim帮了解。

2 个答案:

答案 0 :(得分:5)

尝试:

if (isset($_POST['AccountType']) && stristr($_POST['AccountType'],'Asset')){   
    //extra content is sent within AccountType variable, check your output sourcecode. 
}

// or

if (isset($_POST['AccountType']) && trim($_POST['AccountType']) =='Asset'){    
//you've got whitespaces in AccountType variable 
}

答案 1 :(得分:4)

这只能是一个空白问题。它与$_POST的处理或您的数据属性名称是否包含在引号中无关。修剪交易两侧的值。

JS:

data: {AccountType: $('#account_type').text().replace(/^\s|\s$/g, '')},

PHP

trim($_POST['AccountType'])