我有一个特殊的问题。我正在尝试使用 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[]"
---- 渲染的 JAVASCRIPT 代码 ---
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úmero de tarjeta no válida'、'Entradas encontradas en otras categorías' 和 'Failed'(直接从 javascript 抛出)出现没有任何问题。但所有 responseText 警报后缀为 [],甚至如果 PHP 脚本只回显“Hello”(这会将警报作为“Hello []”抛出)