php开发模式开启notice导致ajax返回error_PHP_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > PHP > php开发模式开启notice导致ajax返回error

php开发模式开启notice导致ajax返回error

 2013/7/19 16:58:01  zhangfortune  程序员俱乐部  我要评论(0)
  • 摘要:最近一直在做web这块。因为是别人写的,这次是在上面改。所以遇见了许多小问题。不能说人家写的好与不好,其实是每个程序员都有自己的实现方式而已。今天遇到的bug主要是由三个方面引起,而且这个项目没有任何的测试,导致调试起来有些费劲。下面和大家分享一下遇到的问题。因为这次是三个方面引起的,所以得一个个的排出。首先是变量未定义使用。这在php里面会导致这个变量为空。看代码//做php不是很长,命名可能有些不规范functionstoreInfo(arrInfo){if(isset
  • 标签:PHP Ajax not 模式 开启 开发

最近一直在做web这块。因为是别人写的,这次是在上面改。所以遇见了许多小问题。不能说人家写的好与不好,其实是每个程序员都有自己的实现方式而已。今天遇到的bug主要是由三个方面引起,而且这个项目没有任何的测试,导致调试起来有些费劲。下面和大家分享一下遇到的问题。

因为这次是三个方面引起的,所以得一个个的排出。

首先是变量未定义使用。这在php里面会导致这个变量为空。看代码

class="php">//做php不是很长,命名可能有些不规范
function storeInfo(arrInfo)
{
   if(isset(array["age"])
  {
    $age = array["age"];
  }
  //.... 其他处理
  data = array(); 
  data['age'] = $age;
}

?很明显这里可能会造成$age undefined 。然后返回一个$age undefinded的提示,然后我的ajax就崩溃了,返回error 。

第二个错误跟他类似:

function storeInfo(arrInfo)
{
  $name = arrInfo["name"];
  if(!isset($name))
 {
    $user = find_by_id($id);
    $name=$user["name"]
 }
  // ...其他处理
  data = array();
  data["name"] = $name ;
}

?问题和刚才那个大同小异。

第三个错误是因为开发的时候没有关闭notice的提示。然后在ajax的时候就会出现错误。和上面的两个错误有关。ajax请求返回的结果是这样的:

Notice : $name is undefined at x/y.php in line:123 // 大概是这个意思,记得不是很全
{status:"success",id=123}

?然后就出现了开头的那一幕,因为ajax认为这样的结果是error,然后就悲剧了。

我想说几点:

1.?? 我写这种代码的时候对后面回用的变量是在开头全部声明,当然像for循环里面的ijk可以直接定义使用;

2.?? 在项目上,无论大小,有测试才好,像php,js都可以写测试,这样别人在接受的时候能更快的上手;

3.?? 像这样的错误,涉及前后端了,找bug的位置更大了,需要耐心一点点的调试,查看log。

4.?? 条错误的同时,我也再像,有没有类似与ajax的测试框架呢。如果有的话,大家帮忙给个连接。

?

?

?

?

?

发表评论
用户名: 匿名