首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >最好使用视图或php的包含来使用Codeigniter中的弹出窗口吗?

最好使用视图或php的包含来使用Codeigniter中的弹出窗口吗?
EN

Stack Overflow用户
提问于 2017-02-07 10:41:21
回答 4查看 284关注 0票数 0

我是一个使用Codeigniter的新手,我的问题是:我有一个带有按钮的引导页面,点击这个按钮,从javascript中进行ajax调用,从db检索一些数据。这些数据应该显示在弹出窗口的div中。到目前为止,我的方法是在主页中包含一个页面(Php),在主页中使用"include“of php,使用ajax调用javascript将数据放到div中,并使用$('#myPopup').modal(' show ')显示数据,但我不确定是否是最好的方法。另一种方法是用弹出窗口的html创建视图,从javascript我对控制器中的一个方法执行ajax调用,该方法从db检索数据并加载视图,这种方法的问题是,在ajax调用成功的部分,我拥有整个弹出窗口的html,因此如果我将其放在正文前面,每次按下按钮,它都会在页面末尾添加一个新的弹出窗口。

代码语言:javascript
复制
jQuery.ajax({
type: "POST",
url: "controller/get_informations",
success: function(res) 
        {   
            if (res)
            {
                // with second approach in res I have code of entire html

                $('#popConfiguration').modal('show');
            }
        },
        error: function(xhr, status, error) {
              alert(xhr.responseText);
            }
    });

什么是最好的方法,如果在未来我可以有其他7-8弹出?我认为把所有的弹出放在主页不是最好的谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-02-07 11:44:32

这一切都取决于。你必须多久打开一次调制解调器(并打电话给服务器)?谁是你网站的目标?你期望有多少交通?

也就是说,如果你的目标是整个世界,并且你期望有大量的流量或大量的调制解调器被打开,那么优化这些东西可能是至关重要的。从这个意义上说,每次要求服务器提供模板样式都是浪费资源。否则,它可能无害。

我认为有三种选择:

选项1

  1. 加载页面时加载的模板
  2. AJaX获取JSON
  3. 更新模板上的值并显示

选项2

  1. 加载在模态显示上的模板
  2. AJaX获取HTML
  3. 更新模式和显示

选项3

  1. 首次加载模板时,模式显示(将模板存储为变量)
  2. AJaX获取JSON
  3. 更新模板上的值并显示

前两种选择就是你提到的。第三个选项是混合使用两个不同的AJaX来获取内容和模板。当用户第一次打开模型并将其存储在变量中供以后使用时,将获取模板。内容从服务器以JSON的形式返回,用于在向用户显示模板之前更新模板。

票数 0
EN

Stack Overflow用户

发布于 2017-02-07 10:59:23

要将html数据加载到div中,最好的方法是使用GET而不是POST。通过这种方式,您可以使用第二种方法(使用视图并从控制器将其作为html返回)将html加载到模型中的内部div,然后在load call_back function中显示模型。

html

代码语言:javascript
复制
<div id="modal-popup" class="modal fade" tabindex="-1" role="dialog" aria-hidden="true">
    <div class="modal-dialog modal-lg">
        <div class="modal-content" id="detail-section">

        </div>
    </div>
</div>

js

代码语言:javascript
复制
$('#detail-section').load(your_url_to_controller, function(){
     $('#modal-popup').modal();
});
票数 -1
EN

Stack Overflow用户

发布于 2017-02-07 11:20:20

您可以在主页中添加所有7-8弹出窗口,只需替换来自控制器的数据即可。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42087692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档