使用Node和Express 4从res.json使用数据时的非法令牌

时间:2014-05-28 11:19:44

标签: javascript jquery json node.js express

我使用Express 4在Node中内置了一个REST api,为自己创建了一个简单的书签服务:

res.json(200, output); // output is an object

使用POSTman我已经完全测试了api并且一切正常。我现在正试图用jQuery的$ .post函数加载数据:

$.post( "http://my.uri.com/v1/endpoint").done(function(data){
    if(data.status == 'success'){
        var table_row;
        data.bookmarks.forEach(function(bm){                    
        console.log(bm);
        console.log(bm.title);
            console.log(bm.dstamp);
            table_row = "<tr><td>"+ bm.dstamp +"</td></tr>";
       });
    } else {
       console.error('There was a problem');
       console.log(data);
    }
});

console.log调用工作正常,我看到了我期望的数据:

Object {id: 16, uri: "http://www.alaskapublic.org/kska/", title: "KSKA | Alaska Public Media", tags: "radio, npr, alaska", dstamp: 1401206372}
KSKA | Alaska Public Media
1401206372 

当我尝试使用其中一个对象属性时,我收到了错误:

Uncaught SyntaxError: Unexpected token ILLEGAL 

这是由以下行引起的:

table_row = "<tr><td>"+ bm.dstamp +"</td></tr>";

我使用的属性是数字还是字符串似乎并不重要。我已经尝试在Express中设置内容标题,但是因为POSTman和console.log()很高兴没有它我不认为这是问题所在。我错过了什么?

更新 FireFox开发工具将错误报告为:

SyntaxError: unterminated string literal

1 个答案:

答案 0 :(得分:1)

错误指向的行中可能存在某种非法(不可见)字符。

选择该行及其上方和下方的行,删除它们,然后手动重新键入它们。那应该摆脱看不见的角色。