我使用json onclick脚本来触发php函数。 我用:
调用php函数$('#dtable').on('click', '[name=option3]', function () {
var select = $(this);
var id = select.attr('id');
$.post('index.php/stop/'+id+'', function(json) {
if (json && json.status) {
$("#failure").show().delay(2500).fadeOut(1500);
} else {
$("#success").show().delay(2500).fadeOut(1500);
}
}
);
} );
如果该项目是触发器,他会在我的index.php中调用一个苗条属性
$admin->slim->post('/stop/:action', function($action) use ($admin) {
$admin->slim->contentType('application/json');
echo json_encode($admin->cont->Stop($action));
在此之后他触发了函数
function Stop($action) {
$port = $action;
$connection = @fsockopen($this->cfg->base_host, $port, $errno, $errstr, 1);
if (!$connection) {
return false;
} else {
$pid = $this->db->query("SELECT pid FROM testdb WHERE port='" . $port . "'", SQL_ALL, SQL_ASSOC);
if ($pid == "") {
return false;
} else {
......
}
}
}
}
}
唯一的问题是,json的答案总是成功的 但是函数
没有从真或假的回复有人知道我做错了什么,或者有人可以给我一些建议。
答案 0 :(得分:1)
在alert(json);
之前使用if (json && json.status)
来查看您获得的内容。我确信json
不是你所期望的。似乎json == false
(因为函数Stop()
返回false
)并且没有json.status
- 或者您的Stop
函数的其余部分可以返回更多内容。