【发布时间】:2015-10-25 05:03:25
【问题描述】:
我想为树枝页面中的按钮获取服务器端响应。例如 - 页面中会有 2 个按钮 ---
开/关
当页面加载时,它应该从服务器检查(从 elasticsearch 数据库检查)是否返回 True 或 false,两个按钮。
因此,例如,我们说对于 ON 按钮,它返回“True”,它应该将其颜色更改为绿色,例如 ----
$(this).addClass('btn-success');
$(this).removeClass('btn-primary');
主要目的是检查页面加载时的当前状态。
所以这不是点击功能,因为它显示页面加载时的状态。
这是我的客户端代码---
$(document).ready(function(){
//send the request with empty data to the server to check the status
$.post('/url/to/action', {}, function(msg){
// we return a response like {status: 'on'} to the client if the search is on
if (msg.status == 'on'){
$('#my-button').addClass('success');
}
// else it is disabled
else
$('#my-button').addClass('primary');
});
});
这是与我的 symfony 应用程序的集成 ---
public function getStatusAction(Request $request){
if ($output = !null) {
return new \Symfony\Component\HttpFoundation\JsonResponse(array('status' => 'on'));
} else {
return new \Symfony\Component\HttpFoundation\JsonResponse(array('status' => 'off'));
}
}
这是我跑去获取状态时的状态
现在的问题是,当页面加载时,它不会重新显示按钮的状态。 我的意思是如果 "status == 'on'" 按钮应该是绿色而不是主要的。
有谁知道我该如何解决这个问题。
【问题讨论】:
-
在 php.ini 页面加载前检查状态。将参数传递给树枝模板。
标签: javascript php jquery ajax symfony