首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >只对多个php ajax调用使用一个js文件

只对多个php ajax调用使用一个js文件
EN

Stack Overflow用户
提问于 2016-02-03 12:00:56
回答 1查看 1.4K关注 0票数 1

首先,我打算有一个js文件,其中有多个ajax调用。我希望这些ajax调用(它们是php文件)在其中包含相同的js文件,但不执行另一个请求,这会使它在任何单击后缓慢运行。

我的一些主php文件:

代码语言:javascript
代码运行次数:0
运行
复制
<head>
    <script src="<?php echo $_SESSION['url'] ?>js/direcinfo.js"></script>
</head>
<body>

    <div class="direcciones">
        <a href="javascript:void(0)" id="c_menu_direcciones" class="c-menu c_menu_direcciones">
            <p>
              Direcciones
            </p>
        </a>
    </div>
    <div id="cuenta_menu_direcciones" class="c-menu-content">
        <h1>Direcciones de correo</h1>
        <div id="expand_wrapper_dir">
        </div>
    </div>
</body>

Js文件(direcinfo.js):

代码语言:javascript
代码运行次数:0
运行
复制
$('#c_menu_direcciones').click(function(){
   $.ajax({
      dataType: "html",
      type: "POST",
      url: "direcalias.php",
      success: function(cntnt){
      $("#expand_wrapper_dir").html(cntnt);
    }
    });
    return false;
});

$(".alias-dir-a").click(function(){
    var useremail=$("#useremail").val();
    var alias=$(this).html();
    if(alias==="+")
    {
        $.ajax({
            dataType: "html",
            type: "POST",
            url: "direcnew.php",
            data: "email="+useremail,
            success: function(cntnt){
                $("#direc-content").html(cntnt);
            }
        });
        return false;
    }
});

Ajax加载文件(direcalias.php)

代码语言:javascript
代码运行次数:0
运行
复制
<?php
    session_start();
    header("Content-Type: text/html; charset=ISO-8859-1");
    include_once 'connection.php';
    $conn = bbddconnect();
    $email=$_SESSION['useremail'];
    $query = "SELECT CODIDIR,ALIAS"
            . " FROM CLIENTE C,DIRECCION D"
            . " WHERE EMAIL LIKE '$email' AND C.CODICNT = D.CODICNT;"; 

    $result3 = mysqli_query($conn,$query)or die(mysqli_error());
    $recount = mysqli_num_rows($result3);
    echo '<div class="menu-alias madir">';
        for($i=0;$i<$recount;$i++)
        {
        $row = mysqli_fetch_array($result3);

    echo '<div class="alias adir ali-'.$i.'">
        <a href="javascript:void(0)" class="alias-dir-a">'.$row['ALIAS'].'</a>
    </div>';

        }

    echo '<div class="alias adir ali-nuevo">
        <a href="javascript:void(0)" class="alias-dir-a">+</a>
    </div>
    </div>
    <div id="direc-content"></div>';

    //echo '<script>'.
    //            'var url = "'.$_SESSION['url'].'js/direcinfo.js";'.
    //            '$.getScript(url);'.
    //    '</script>';

?>

我遇到的问题是,当调用direcalias.php文件时,我需要再次调用js文件(编辑的部分),因为如果不调用js文件,当我单击$(".alias-dir-a").click(function())时,它就无法识别。我想做什么是可能的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-03 12:18:22

因为您在创建之前调用了.alias-dir-a。您可以使用on方法

代码语言:javascript
代码运行次数:0
运行
复制
$(document).on("click", ".alias-dir-a", function() {

    var useremail=$("#useremail").val();
    var alias=$(this).html();
    if(alias==="+")
    {
        $.ajax({
            dataType: "html",
            type: "POST",
            url: "direcnew.php",
            data: "email="+useremail,
            success: function(cntnt){
                $("#direc-content").html(cntnt);
            }
        });
        return false;
    }
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35176501

复制
相关文章

相似问题

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