gpt4 book ai didi

javascript - 仅使用一个js文件进行多个php ajax调用

转载 作者:行者123 更新时间:2023-11-27 23:23:32 25 4
gpt4 key购买 nike

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

我的一些主要 php 文件:

<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 文件(directinfo.js):

$('#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)

<?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 文件(编辑部分),因为如果不这样做,当我单击时它无法识别上$(".alias-dir-a").click(function())。我想做的事情可能吗?

最佳答案

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

$(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;
}
});

关于javascript - 仅使用一个js文件进行多个php ajax调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35176501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com