报错说遇到不期望的“{”,可是我瞄了半天还是不知道哪里出问题了啊?求解。

来源:4-3 第四天 自动回复各种消息

守得云开见月

2016-06-13

	<xml>
		<ToUserName><![CDATA[<% toUserName %>]]></ToUserName>
		<FromUserName><![CDATA[<% fromUserName %>]]></FromUserName>
		<CreateTime><% createTime %></CreateTime>
		<MsgType><![CDATA[<% msgType %>]]></MsgType>
		<% if(msgType === "text") { %>
			<Content><![CDATA[<%- content %>]]></Content>
		<% } else if(msgType === "image") { %>
			<Image>
				<MediaId><![CDATA[<% content.media_id %>]]></MediaId>
			</Image>
		<% } else if(msgType === "voice") { %>
			<Voice>
				<MediaId><![CDATA[<% content.media_id %>]]></MediaId>
			</Voice>
		<% } else if(msgType === "video") { %>
			<Video>
				<MediaId><![CDATA[<% content.media_id %>]]></MediaId>
				<Title><![CDATA[<% content.title %>]]></Title>
				<Description><![CDATA[<% content.description %>]]></Description>
			</Video>
		<% } else if(msgType === "music") { %>
			<Music>
				<Title><![CDATA[<% content.title %>]]></Title>
				<Description><![CDATA[<% content.description %>]]></Description>
				<MusicUrl><![CDATA[<% content.MUSIC_Url %>]]></MusicUrl>
				<HQMusicUrl><![CDATA[<% content.HQ_MUSIC_Url %>]]></HQMusicUrl>
				<ThumbMediaId><![CDATA[<% content.media_id %>]]></ThumbMediaId>
			</Music>
		<% } else (msgType === "news") { %>
			<ArticleCount><% content.length %></ArticleCount>
				<Articles>
				<% content.forEach(function(item)) { %>
					<item>
						<Title><![CDATA[<% item.title %>]]></Title>
						<Description><![CDATA[<% item.description %>]]></Description>
						<PicUrl><![CDATA[<% item.picUrl %>]]></PicUrl>
						<Url><![CDATA[<% item.url %>]]></Url>
					</item>
					<% }) %>
				</Articles>
		<% } %>
	</xml>

http://szimg.mukewang.com/575e8690000128c808620675.jpg

写回答

2回答

Scott

2016-06-13

帮助你走下过程,这种错误遇到后,肉眼看不出的话,可以用删除法试试:


先删整个逻辑块:


<% if(msgType === "text") { %>
        <Content><![CDATA[<%- content %>]]></Content>
    <% } else if(msgType === "image") { %>
        <Image>
            <MediaId><![CDATA[<% content.media_id %>]]></MediaId>
        </Image>
    <% } else if(msgType === "voice") { %>
        <Voice>
            <MediaId><![CDATA[<% content.media_id %>]]></MediaId>
        </Voice>
    <% } else if(msgType === "video") { %>
        <Video>
            <MediaId><![CDATA[<% content.media_id %>]]></MediaId>
            <Title><![CDATA[<% content.title %>]]></Title>
            <Description><![CDATA[<% content.description %>]]></Description>
        </Video>
    <% } else if(msgType === "music") { %>
        <Music>
            <Title><![CDATA[<% content.title %>]]></Title>
            <Description><![CDATA[<% content.description %>]]></Description>
            <MusicUrl><![CDATA[<% content.MUSIC_Url %>]]></MusicUrl>
            <HQMusicUrl><![CDATA[<% content.HQ_MUSIC_Url %>]]></HQMusicUrl>
            <ThumbMediaId><![CDATA[<% content.media_id %>]]></ThumbMediaId>
        </Music>
    <% } else (msgType === "news") { %>
        <ArticleCount><% content.length %></ArticleCount>
            <Articles>
            <% content.forEach(function(item)) { %>
                <item>
                    <Title><![CDATA[<% item.title %>]]></Title>
                    <Description><![CDATA[<% item.description %>]]></Description>
                    <PicUrl><![CDATA[<% item.picUrl %>]]></PicUrl>
                    <Url><![CDATA[<% item.url %>]]></Url>
                </item>
                <% }) %>
            </Articles>
    <% } %>


如果能走通,恢复,然后删掉前面大部分逻辑块:


<% } else if(msgType === "image") { %>
        <Image>
            <MediaId><![CDATA[<% content.media_id %>]]></MediaId>
        </Image>
    <% } else if(msgType === "voice") { %>
        <Voice>
            <MediaId><![CDATA[<% content.media_id %>]]></MediaId>
        </Voice>
    <% } else if(msgType === "video") { %>
        <Video>
            <MediaId><![CDATA[<% content.media_id %>]]></MediaId>
            <Title><![CDATA[<% content.title %>]]></Title>
            <Description><![CDATA[<% content.description %>]]></Description>
        </Video>
    <% } else if(msgType === "music") { %>
        <Music>
            <Title><![CDATA[<% content.title %>]]></Title>
            <Description><![CDATA[<% content.description %>]]></Description>
            <MusicUrl><![CDATA[<% content.MUSIC_Url %>]]></MusicUrl>
            <HQMusicUrl><![CDATA[<% content.HQ_MUSIC_Url %>]]></HQMusicUrl>
            <ThumbMediaId><![CDATA[<% content.media_id %>]]></ThumbMediaId>
        </Music>


如果能走通,恢复,然后删除更小的块,通过删除块,来锁定是哪里出了问题,锁定后,仔细检查这一片,如果从一开始删除逻辑块后,都不能走通,说明不是模板这里出了问题

0
1
守得云开见月
非常感谢!授人以渔
2016-06-14
共1条回复

守得云开见月

提问者

2016-06-14

  <% } else (msgType === "news") { %>   //问题1
        <ArticleCount><% content.length %></ArticleCount>
            <Articles>
            <% content.forEach(function(item)) { %>//问题2
                <item>
                    <Title><![CDATA[<% item.title %>]]></Title>
                    <Description><![CDATA[<% item.description %>]]></Description>
                    <PicUrl><![CDATA[<% item.picUrl %>]]></PicUrl>
                    <Url><![CDATA[<% item.url %>]]></Url>
                </item>
                <% }) %>
            </Articles>
    <% } %>

解决了~我把问题标在了注释。

0
0

7天搞定Node.js微信公众号

Koa框架、ES2015新特性、MongoDB,开发微信公众号

1742 学习 · 787 问题

查看课程