2014-02-12 2 views
1

у меня есть это в main.py:SyntaxError: missing; перед постановкой

TODOS = { 
    'todo1': {'task': 'build an API'}, 
    'todo2': {'task': '?????'}, 
    'todo3': {'task': 'profit!'}, 
} 


class HelloWorld(restful.Resource): 
    def get(self): 
     return jsonify(TODOS) 

api.add_resource(HelloWorld, '/api') 

и в стороне клиента я использую из angularjs:

var url = "/api?q=" + 'fdsf' + "&jsonp=JSON_CALLBACK"; 
$http.jsonp(url).success(function(data) { 
    console.log("get"); 
    this.busy = false; 
}.bind(this)); 

но когда я загрузить страницу я имею эту ошибку в консоли:

SyntaxError: missing ; before statement 


"todo1": { 

как я могу исправить эту ошибку? почему функция jsonify не работает?

EDIT

в хроме:

Uncaught SyntaxError: Unexpected token : 

в светлячок:

SyntaxError: missing ; before statement 


"todo1": { 
+0

Я думаю, что проблема может быть дополнительной запятой в конце этой строки 'todo3': {'task': 'profit!'}, – doodeec

+0

@doodeec Нет, этот дополнительный ',' не вызовет ошибку в Python. –

+0

@doodeec nope - конечные разделители в Python прекрасны ... –

ответ

5

Вы используете jsonp, но ваш ответ возвращает простой JSON.

JSONP (или JSON с дополнением) должен включать в себя обратном вызове функцию, а не простой ответ JSON.

Вы должны использовать $http.get() здесь, не$http.jsonp().

+1

, это не работает для меня! –

+1

поблагодарить за ответ –

Смежные вопросы