这是一个表单
<form id="server-form">
<div class="xinj1-wrap">
<h1>新建/编辑服务器组</h1>
<span>
<b>显示名:</b>
<input type="text" name="name">
</span>
<span>
<b>主机:</b>
<input type="text" name="host">
</span>
<span>
<b>端口号:</b>
<input type="text" name="port">
</span>
<span>
<input type="checkbox" class="input-check" name="is_ssl" value="1">
<small>SSL加密</small>
</span>
<span>
<b>用户名:</b>
<input type="text" name="username">
</span>
<span>
<b>密码:</b>
<input type="password" name="password">
</span>
<span>
<b>组:</b>
<select name="group_id">
</select>
</span>
<p style="margin-top:20px;">
<button class="btn-close" onclick="kdb.hidePop('#server-form');return false;">取消</button>
<button class="btn-color1" onclick="saveServer();return false;">保存</button>
</p>
</div>
</form>
js传值
//调用公共js 文件的方法
kdb.updateServer(serverId, $("#server-form").find("form").serialize(), function(data){
console.log(data);
kdb.hidePop("#server-form");
layer.open({
content: '修改成功',
yes: function(index, layero){
layer.close(index);
location.reload()
}
});
});
js 底层写法
//kdb文件的写法
updateServer: function (serverId, serverData, callback) {
$.extend(serverData, {id: serverId});
$.ajax({
url: "manage.php?action=ajaxUpdateServer",
type: "POST",
data: serverData,
success: function (data) {
callback(data);
}
});
},
php写法
public function ajaxUpdateServer(){
$serverData = $this->request->only(array('id', 'name', 'host', 'username', 'password', 'is_ssl', 'port', 'group_id'));
$id = $serverData['id'];
unset($serverData['id']);
$serverId = $this->storage->updateServer($id,$serverData);
$this->success(array("server_id"=>$serverId, "server_name"=>$serverData['name']), "修改新服务器成功");
}
// 下面这两个是在一个文件
public function only($attributes){
$data = $this->getData();
$ret = array();
foreach($data as $key=>$item){
if(in_array($key, $attributes)){
$ret[$key] = $item;
}
}
return $ret;
}
public $_post;
public $_get;
public function __construct()
{
$this->_post = $_POST;
$this->_get = $_GET;
}
protected function getData(){
if(!empty($this->_post)){
return $this->_post;
}else{
return $this->_get;
}
}
//BaseController是这样的
public function success($data = [], $msg = ''){
$this->response->success($data, $msg);
}
public function error($err_code, $msg = ''){
$this->response->error($err_code, $msg);
}
//response类里面的是这样
public function success($data, $msg){
$this->response['err_code'] = 0;
$this->response['msg'] = isset($msg) ? $msg : '执行成功';
$this->response += $data;
$this->send();
}
public function error($errCode, $msg){
$this->response['err_code'] = $errCode;
$this->response['msg'] = isset($msg) ? $msg : '执行成功';
$this->send();
}