PHP 服务器响应 - Backbone 保存未触发成功函数
PHP Server Response - Backbone save not triggering success function
调用 Backbone.Model.save() 后,我不知道如何创建正确的服务器响应。
将 myModel 视为已初始化的 Backbone 模型实例。
myModel.set('foo', '123');
myModel.save().then( function() {
console.log('saved foo');
}, function() {
console.log('error');
} );
控制台输出始终是 '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-headers,
所以添加这行代码
header("Content-type: application/json");
$rtn = array("status", "200");
http_response_code(200);
echo json_encode($rtn);
调用 Backbone.Model.save() 后,我不知道如何创建正确的服务器响应。
将 myModel 视为已初始化的 Backbone 模型实例。
myModel.set('foo', '123');
myModel.save().then( function() {
console.log('saved foo');
}, function() {
console.log('error');
} );
控制台输出始终是 '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-headers,
所以添加这行代码
header("Content-type: application/json");
$rtn = array("status", "200");
http_response_code(200);
echo json_encode($rtn);