ajax异步加载中遇到的onclick无法传递中文参数问题

$.each(data, function() {
				if(null==this.CCommenterNickname||''==this.CCommenterNickname)
					this.CCommenterNickname="神秘游客";
				if(null==this.CCommenterAvatar||''==this.CCommenterAvatar)
					this.CCommenterAvatar="avatar.jpg";	
				var id=this.CId;
				var upSum=this.CUpSum;
				var childCommentSum=this.childCommentSum;
				var CCommenterNickname=this.CCommenterNickname;
				if(childCommentSum>0)
					childCommentSum="查看对话("+childCommentSum+")";
				if(0==upSum)
					upSum='';	
				$('#comments-list').append('
  • ' + '
    '+ '
    ' + '
    ' + '
    ' + '

    '+this.CCommenterNickname+'

    ' + 'οnclick="showReplayBox(this,'+this.commentCommenterId+',"'+CCommenterNickname+'")">' + '' + ''+upSum+'' + '
    ' + '
    ' +AnalyticEmotion(this.CContent)+ '
    '+ ''+this.CDate+'' + ''+childCommentSum+'' + '
    ' + '
    ' + '
    '+ '
      '+'
    '+ '
  • ' ); });
    因为nickname包含中文 所以这种方式提交控制台会报

     Uncaught SyntaxError: Unexpected token }

    如果不加双引号则报

    XXXX is not defined
    这个时候需要用到转义符

    https://zhidao.baidu.com/question/983887223655782179.html

    ajax异步加载中遇到的onclick无法传递中文参数问题_第1张图片


    上面说的方法对了一半

    不应该用   \"

    应该用   "正解



    你可能感兴趣的:(小结,JSP)