我想使用jQuery / Ajax实现一个简单的网页。 我有3个按钮,每个按钮将使用ajax调用从服务器获取不同的文件。唯一的区别是每个按钮都有不同的类名,并调用不同的文件。其他所有内容,例如加载时间,加载图标,成功/失败消息,都是相同的。因此,我只想写一个ajax函数,而不是3.
我有:
<script>
$(document).ready(function(){
$(".button1").click(function(){
$.ajax({
url: "button1.txt",
/*more code*/
});
});
});
</script>
我想创建另一个函数,以便这个“button1”和“button1.txt”将成为一个变量,并且从函数返回的任何内容都将在ajax函数中使用,这样我就可以重用ajax函数3次。 你怎么能做到这一点?
答案 0 :(得分:2)
您需要在所有三个按钮上设置网址,如
<button class='button1' data-url='button1.txt'>button 1</button>
<button class='button2' data-url='button2.txt'>button 2</button>
<button class='button3' data-url='button3.txt'>button 3</button>
在你的ajax之后。
<script>
$(document).ready(function(){
$(".button1, .button2, .button3").click(function(){
var url = $(this).attr('data-url');
$.ajax({
url: url",
/*more code*/
});
});
});
答案 1 :(得分:0)
只需在点击事件中添加按钮
<script>
$(document).ready(function(){
$(".button1, .button2 , .button3").click(function(){
$.ajax({
url: "button1.txt",
/*more code*/
});
});
});
</script>
在html中添加点击onclik事件
答案 2 :(得分:0)
编辑使用数据属性,例如名为data-url的属性,在点击事件中获取
为所有按钮提供相同的类名。 检索按钮的值,并将它们传递给ajax调用
<script>
$(document).ready(function(){
$(".buttonClass").click(function(){
//var value = $(this).attr("value");
var dataUrl = $(this).attr('data-url');
$.ajax({
url: dataUrl,
/*more code*/
});
});
});
</script>
答案 3 :(得分:0)
您可以使用data-*
带前缀的自定义属性来存储要在$.ajax()
功能中访问的文件。您可以使用公共类来附加事件处理程序。
HTML 的
<button class="button" filename="button1.txt"></button>
<button class="button" filename="button2.txt"></button>
<button class="button" filename="button3.txt"></button>
可以使用Element.dataset
属性或jQuery的.data()
方法获取FileName。
脚本
$(".button").click(function(){
var fileName = this.dataset.filename;
$.ajax({
url: fileName,
/*more code*/
});
});
答案 4 :(得分:0)
试试这个
$stmt = $mysqli->prepare("SELECT user_email FROM tbl_users WHERE user_email = ?");
$stmt->bind_param('s', $email);
$stmt->execute();
$stmt->bind_result($eid);
while ($stmt->fetch()) {
echo $email.'='.$eid.'<br>';
}
$stmt->close();
if(isset($eid)){
答案 5 :(得分:0)
我想一个普通的类名就足够了。虽然你需要在你的按钮上有一些ID不同,但它不是必需的。在这种情况下可以使用this
。
我认为这可以通过将ajax放入参数化函数来完成:
function myAjaxCall(){
var url = this.textContent.trim().toLowerCase()+'.txt';
$.ajax({
url: url,
/*more code*/
});
}
$(document).ready(function(){
$(".button").click(myAjaxCall);
});
考虑这样的按钮:
<button class='button'>Button1</button>
<button class='button'>Button2</button>
<button class='button'>Button3</button>