2015-08-03 4 views
-1

Что я хочу сделать, это реализовать функцию поиска через REST API. Для этого я выбрал отдельную коллекцию для результатов поиска.Невозможно подключить базовую модель к API REST

Вот что у меня есть:

Коллекция:

var mira = mira || {}; 

mira.IndustrySearchCollection = Backbone.Collection.extend({ 
    model: mira.Industry, 
    initialize: function(models, options) { 
     this.query = options.query; 
    }, 
    url: function() { 
     return "http://localhost:8000/manageDb/mira/industries/?q=" + this.query; 
    } 

}); 

Модель:

var mira = mira || {}; 
mira.Industry = Backbone.Model.extend({}); 

Вот как я пытаюсь выполнить поиск:

var result = new mira.IndustrySearchCollection([], {query: "Ag"}); 
    result.fetch({ 
    error: function(){ 
     console.log("Something went wrong"); 
    }, 
    success: function(){ 
     console.log("It werks") 
    }}); 

Проблема в том, что способы возвращают ошибку. Я ожидаю, что это будет сделано, чтобы иметь несколько моделей в коллекции и автоматически привязывать атрибуты, возвращаемые сервером, к их фактическим значениям.

Вот фактические данные, возвращаемые сервером:

[{"id":2,"name":"Agriculture, forestry, fishing, and  hunting","code":"11","id_classification":{"name":"CAN_NAICS","id_country":"Canada"}}, 
{"id":3,"name":"Agriculture, forestry, fishing, and hunting","code":"11","id_classification":{"name":"MEX_NAICS","id_country":"Mexico"}}, 
{"id":4,"name":"Agriculture, forestry, fishing, and hunting","code":"11","id_classification":{"name":"CHN_NAICS","id_country":"China"}}, 
{"id":231,"name":"Agricultural implement manufacturing","code":"33311","id_classification":{"name":"JP_NAICS","id_country":"Japan"}}] 

EDIT: Некоторые получения дополнительной информации: швы что-то пойдет не так, прежде чем collection.parse(...), как я пытался изменить его и проверить ответ, но он не смог с та же проблема.

+0

Вы указали класс 'model' в' IndustrySearchCollection'? –

+0

@ArtemBaranovskii Да, извините. Я сделал. – khajvah

+0

Какая ошибка вы видите? –

ответ

0

Хорошо. Я сожалею о том, что тратил много времени для людей, но проблема связана с сервером. В частности, это была проблема CORS, поскольку мой сервер работал на другом порту (я думал, что разные порты по-прежнему считаются от одного источника).

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