加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs开发过程,错误集合

发布时间:2020-12-17 08:35:04 所属栏目:安全 来源:网络整理
导读:Error: [$injector:modulerr] Error: [$injector:unpr] 控制器注入失败 $injector:nomod 错误 通常出现这个错误是因为angular.module定义时写法错误; 检查是否有[],或者是否多次定义同一个module; 标准定义 angular.module(‘1yd.config’,[]) 加上[]表示
  1. Error: [$injector:modulerr]
  2. Error: [$injector:unpr] 控制器注入失败
  3. $injector:nomod 错误
    通常出现这个错误是因为angular.module定义时写法错误;
    检查是否有[],或者是否多次定义同一个module;
    标准定义 angular.module(‘1yd.config’,[])
    加上[]表示定义,没有[]表示引用;

  4. Error: [$injector:undef] factory的service必须返回一个对象

  5. http().successisnotafuncangular1.x http promise的方法的success和error方法已经被弃用了,转为标准的then方法。
    angularjs1.x api
  6. v8要开始移除对arguments的支持了,最好开始使用es6中的参数省略和默认的形式
function (type="text",...items)
  1. $http的标准定义形式:
angular.module('cmsService').factory('commonService',['$http',($http)=>{ let service = {} let userModel = { login_info :{},logPath: '',client_version: '1.0.0',get_log_path: ()=>logPath,set_user_info:(arg)=>{login_info = JSON.parse(arg)},get_user_info:()=>login_info,get_client_version:()=>client_version,setAutoMove:(state)=>{aotuMove = state},getAutoMove:()=>autoMove,resetLoginInfo:()=>{login_info = {}} } service.cms = userModel; service.log = (...items)=>{ let date = new Date(); let output = "["+date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate()+" "+date.getHours()+":"+date.getMinutes()+":"+date.getSeconds()+"]" for(let i = 0,len = items.length; i < len; i++){//标记2 if(typeof items[i] == "object"){ output += JSON.stringify(items[i]) }else{ output +=String(items[i]); } // output+="rn"; } console.log(`output${output}`); service.cmsFilelog(output) } service.cmsFilelog=(output)=>{ $http({ url:'/common/log',//标记1 method:'POST',data:{output:output} }).then((res)=>{ console.log(); },(res)=>{ console.log(); }) } return service; }]) 

在标记1处url可以自己设计。’/common/log’的实现是这样的:

var common = require('../routes/common')
app.use('/common',common);

其中common.js文件:

router.post('/log',function(req,res){})

这两个地方组合成了$http中的/common/log;
另外,如果这里的url是跨域的,比如:

service.cmsFilelog=(output)=>{
  $http({
    url:'https://angularjs.org/doesntexist&callback=JSON_CALLBACK',method:'JSONP',data:{output:output}
  }).then((res)=>{ console.log(); },(res)=>{ console.log(); }) } 

注意method是JSONP.

to be continue…

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读