论坛首页 编程语言技术论坛

prototype的ajax调试一例

浏览 1749 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-03-12  
PHP
几天前程序还好好的,突然执行错误。
      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)) {
  .....
}

就不会警告了。
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics