我使用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
答案 0 :(得分:1)
错误指向的行中可能存在某种非法(不可见)字符。
选择该行及其上方和下方的行,删除它们,然后手动重新键入它们。那应该摆脱看不见的角色。