prototype的ajax调试一例

几天前程序还好好的,突然执行错误。

var id = 1;
var URL = '/index/ajaxfetcharea';

new Ajax.Request(URL, {
method: 'get',
evalJSON:true,
evalJS:true,
parameters:{province: id},
onSuccess: function(transport, json) {
var result = transport.responseJSON;
var str ='';

//调试语句
//alert(transport.responseText);

for(var i=0, j=result.length; i<j; i++) {
str += ' <a target="_blank" href="http://'+ result[i].a + '.site.com' +'/">'+ result[i].b +'</a>';
}
$('id_allarea_li').update(str);

}
}



这时,把调试语句注释取消,发现输出是

<br />
notice:。。。。。
<br />

[{a:1,b:2}, {a:2,b:3}。。。]



原来,php遇到解析错误但不是致命错误,如果也不关闭php.ini里的错误输出,则php会强行在输出流的最开头处插入错误提示的html代码,而服务端代码并没有致命错误,前几天修改代码时增加了一些功能,说起来,也是没有单元测试的原因啊。

也是一个php常见警告

$a = array();
if ($a['b']) {
.....
}


这样就会警告了,正确的写法是

$a = array();
if (array_key_exists('b', $a)) {
.....
}

就不会警告了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值