<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
帮了解。
答案 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'])