我有一个特殊的问题。我正在尝试使用AJAX验证一些卡号。整个过程很顺利,我正按预期从脚本中获得响应。但我不确定为什么所有的响应文本(即使它是一个空字符串)将在我的javascript上提示时显示[]后缀。如果我直接从javascript发出警报,它显示正常。但AJAX的所有回复都给出了上述输出。
任何人都可以告诉我为什么会这样吗?我可能在我的代码中做了一些愚蠢的事情......但是无法弄明白什么......任何输入都会受到高度赞赏。
提前致谢
编辑:
Javascript代码:
var url = '" . JURI::base() . "index.php?option=<component>&view=<view>&format=raw&task=<task>';
var a = new Request({
url: url,
data: {
'".JUtility::getToken()."': 1
},
method: 'post',
onSuccess: function(responseText) {
alert(responseText);
},
onFailure: function(xhr) {
alert('Failed');
}
}).send();
view.raw.php上的PHP脚本
<?php echo "Here"; ?>
此脚本在运行时会将警告消息抛出为"Here[]"
---- RENDERED JAVASCRIPT CODE ---
window.addEvent('domready',function() {
if($('addpluspayment')) {
$('addpluspayment').addEvent('click', function(event) {
bbCardNum = $('bbpluscardpayment').value;
if(bbCardNum.length <= 0) {
alert('Número de tarjeta no válida');
return;
}
totalAmountToCheck = parseFloat($('taqPaymentAmount').value);
var url = 'http://mydomain.com/index.php?option=com_bbpayment&view=taqcart&format=raw&task=bbcheckpoints';
var a = new Request({
url: url,
data: {'5df1de004436f241ef112345035bab51':1,'totalAmountToCheck':totalAmountToCheck,'bbCardNum':bbCardNum},
method: 'post',
onSuccess: function(responseText) {
if(responseText == 'othercategories[]') {
alert('Entradas encontradas en otras categorías');
}
else {
alert(responseText);
}
},
onFailure: function(xhr) {
alert('Failed');
}
}).send();
});
}
});
在这里,警报 - 'Númerodetarjetanoválida','Entradas encontradas enotrascategáas'和'Failed'(直接从javascript中抛出)出现没有任何问题..但所有responseText警告后缀a [ ],即使PHP脚本回声只是'你好'(它会将警报抛出为'Hello []')