gpt4 book ai didi

javascript - 如何在同一页面的 PHP 代码中使用 AJAX 回调中的值?

转载 作者:行者123 更新时间:2023-11-28 04:24:38 25 4
gpt4 key购买 nike

这是我第一次使用 AJAX。我完全不明白这里的数据流。请帮忙,我正在 codeigniter 中执行此操作这是我的代码编辑:

我的 View 页面中的js函数:

    function selectHandler() {
var selectedItem = chart.getSelection()[0];

if (selectedItem) {
var topping = data.getValue(selectedItem.row, 0);

$.post("http://localhost/offlearn/index.php/ctrl_offapp/trail2",
{
top: topping,

},
function(res,status){
// alert(res);
document.getElementById('tablePrint').innerHTML = res;
});
}
}

Trial2 是我的 Controller 功能。

你能帮忙吗?

**codeigniter 中的 Trial2 函数是 ** :

    public function trail2(){
$var=$this->input->post('top');
$data['ts'] = $this->offapp_database->get_tasks();
$data['u'] = $this->offapp_database->usermaster();
print_r($data['ts']);
exit;
$myTable= '<table><tr><td >TASK NAME</td><td >ASSIGNED TO</td><td >CREATED BY</td></tr>';

foreach($ts->result() as $tk)
{
if ($tk->status == 0 ) {
$myTable.= '<tr><td >'.$tk->taskname.'</td><td >'; foreach($u->result() as $usr)
{ if ($usr->id == $tk->assignto) {echo $usr->fname;}}
$myTable.= '</td><td >';
foreach($u->result() as $usr)
{ if ($usr->id == $tk->createdby ) {echo $usr->fname;}}
$myTable.=' </td></tr>';
$myTable.='</table>';
echo $myTable ;
}
}
}

模型中的函数:

    public function get_tasks()
{
$this->db->select('*');
$this->db->from('tasks ');
$rslt = $this->db->get();
return $rslt;
}
public function usermaster()
{
$this->db->select('*');
$this->db->from('usersmaster ');
$rslt = $this->db->get();
return $rslt;
}

这里我尝试在 View 页面的 div 'tableprint' 中显示分配给变量 $myTable 的表。这是我得到的输出:

CI_DB_mysqli_result 对象 ( [conn_id] => mysqli 对象 ( [affected_rows] => 108 [client_info] => mysqlnd 5.0.11-dev - 20120503 - $Id: 76b08b24596e12d4553bd41fc93cccd5bac2fe7a $ [client_version] => 50 011 [连接错误号] => 0 [connect_error] => [errno] => 0 [error] => [error_list] => Array ( ) [field_count] => 19 [host_info] => 通过 TCP/IP 的本地主机 [info] => [insert_id] = > 0 [server_info] => 5.5.5-10.1.16-MariaDB [server_version] => 50505 [stat] => 正常运行时间:639 线程:1 问题:11 慢速查询:0 打开:20 刷新表:1 打开表:平均每秒 13 个查询:0.017 [sqlstate] => 00000 [protocol_version] => 10 [thread_id] => 3 [warning_count] => 0 ) [result_id] => mysqli_result Object ( [current_field] => 0 [field_count] = > 14 [长度] => [行数] => 77 [类型] => 0 ) [结果数组] => 数组 ( ) [结果对象] => 数组 ( ) [自定义结果对象] => 数组 ( ) [当前行] => 0 [num_rows] => [row_data] => )

请帮我知道哪里出了问题

最佳答案

你不能。您似乎对网页的生成和处理方式不太了解,根据您的回答,我相信 AJAX 混合了您头脑中的东西。

PHP 代码由服务器解释。JS代码由浏览器解释。

但是,AJAX 使得从 JS 代码调用 PHP 代码成为可能,我相信这就是让您感到困惑的地方。

AJAX 包括从 JavaScript 代码发送 HTTP 请求并接收 HTTP 响应,这允许开发人员将数据发送到 PHP 脚本并接收其他数据。

但请记住,当您这样做时,JS 使用的唯一 PHP 代码是响应 AJAX 请求的代码。您的页面中不能包含由浏览器神奇地解释的 PHP 代码,以便它可以使用 AJAX 发送的数据。

让我更加假设您在不了解情况下尝试应用 AJAX 的是,您在 AJAX 调用后收到的数据可能是由 PHP 生成和传输的,为什么不应用您想要在该资源上应用的任何 PHP 代码在 PHP 代码将数据发送到您的页面之前?

关于javascript - 如何在同一页面的 PHP 代码中使用 AJAX 回调中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45168208/

25 4 0
文章推荐: javascript - 在 <input> 中动态添加
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com