Получение возвращаемого значения из php с помощью backbone.js - PullRequest
0 голосов
/ 24 августа 2011

Здравствуйте, у меня есть следующий php-код контроллера codeIgniter, который сохраняет Backbone Model на сервер

public function generate()
    {
       //Converts JSON object to array
       $data = decode(TRUE);
       $this->load->library('db_models',$config=array('localhost', 'user', '343boys'));
       $data = $this->db_models->getFields($data['database'],$data['table']);
       //Converts $data to JSON object
       $data = encode($data);
       //Problem is here how to i assign this data back to my model.
       return $data;

    }

Я создал вспомогательный декодер JSON и закодировал его, который преобразует JSON в массив и массив в JSON соответственно. Это не проблема, так как я проверил их с помощью firebug. код работает нормально при сохранении, но я попал в ловушку, когда я пытаюсь получить возвращенные данные $; после сохранения функции.

Моя модель похожа на

var Table = Backbone.Model.extend({
     defaults:{
       'table':'mine',
       'database':'db'
},
        urlRoot : '/campusfeed/index.php/welcome/generate'

    });
model.save();

Итак, как мне сохранить значение через функцию и получить то, что функция возвращает, а не neccessarilt в codeigniter.

1 Ответ

0 голосов
/ 16 сентября 2011

Существует несколько вариантов.

model = new Table({
  table: 'yours'
  ,database: 'database'
});

model.save(null, {success: success});

или

model = new Table();
model.set({
  table: 'yours'
  ,database: 'database'
});
model.save(null, {success: success});

или

model = new Table();
model.save(
  {
    table: 'yours'
    ,database: 'database'
  }
  ,{success: success}
);

Первый объект, который вы передаете model.save(), - это хэшсвойства, которые вы хотите изменить.Второй параметр - хэш параметров.Обратный вызов success получает три параметра.Обновленная модель, ответ от сервера и объект xhr.Функция успеха может быть определена следующим образом:

function success(model, response, xhr) {
  console.log('model saved', model, response, xhr);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...