Я не могу понять, как создать правильный ответ сервера после вызова Backbone.Model.save ().
Считайте myModel инициализированным экземпляром Backbone Model.
myModel.set('foo', '123');
myModel.save().then( function() {
console.log('saved foo');
}, function() {
console.log('error');
} );
Вывод консоли всегда «ошибка».
Новое значение для ‘foo’ устанавливается на сервере, хотя и после перезагрузки приложения представление, представляющее myModel.get (‘foo’), покажет ожидаемое значение (‘123’).
Однако обещание никогда не оценивается как функция успеха.
Поскольку мой сервер очень прост, я почти уверен, что я делаю что-то не так — вот что
if( $_SERVER['REQUEST_METHOD'] == "POST" ) {
if( isset($_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE']) ) {
if( $_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'] == 'PUT' ) {
// ... doing stuff to update data on server
http_response_code(200);
echo '';
}
}
}
Это заголовок полученного ответа
Content-Length 0
Content-Type text/html; charset=UTF-8
Server PhpStorm 9.0.1
X-Powered-By PHP/5.6.12
Я очень ценю каждый намек на то, что мне здесь не хватает.
header () используется для установки HTTP-заголовков,
Так что добавьте строку кода
header("Content-type: application/json");
$rtn = array("status", "200");
http_response_code(200);
echo json_encode($rtn);
Других решений пока нет …