我要实现的目标
我有一些要展示的作品。所以,我有这些的缩略图。当访客单击缩略图时,我希望打开一个div(称为slickbox)并显示标题,说明和有关所单击作品的滑块。
我已经完成的工作以及如何 从数据库中获取工作数据。这是我的作品清单的一小部分:
index.php
<?php
$retour_messages = mysql_query('SELECT 2K13_works.*, 2K13_categories.nom AS nomCAT FROM 2K13_works, 2K13_categories WHERE 2K13_works.cat_id = 2K13_categories.cat_id ORDER BY 2K13_works.record_date DESC') or die(mysql_error());//requete sql pour récupérer les works de la page
?>
<ul id = "creations" class = "step">
<?php
while($donnees_messages=mysql_fetch_assoc($retour_messages)){
echo '<li class = "step '.$donnees_messages['nomCAT'].'" id="'.$donnees_messages['work_id'].'">
<div class = "item"><a href = "#"><img src = "'.$donnees_messages['thumbLink'].'" alt = "'.$donnees_messages["titre'].'" title = "" width = "226" height = "147"/></a>
<div class = "caption">
<h3>'.$donnees_messages['titre'].'</h3>
<p>'.html_entity_decode($donnees_messages['resume'],ENT_QUOTES,'UTF-8').'</p>
<p id = "desc" class = "hidden">'.html_entity_decode($donnees_messages['description'],ENT_QUOTES,'UTF-8').'</p>
<!--<p id = "idw" class = "hidden">'.$donnees_messages['work_id'].'</p>-->
</div>
</div>
</li>';
}
?>
</ul>
如您所见,我有一个ul标签,其中每个作品都包含li标签。每个li标签获取数据库中工作的ID,每个li标签包含h3标签和p标签,这些标签包含我想在滑动框中显示的文本(有关图像,我将在后面看到)。
现在,我的slickbox的JavaScript代码出现和消失:
front_functions.js
//_____________SLICKBOX__________________________________
$('#slickbox').hide();
$("#creations li").click(function(e) {
// shows the slickbox on clicking the noted link
$titre = $(e.target).children("h3").text();
$bla = $(e.target).children("#hidden").text();
$("#description").children("h1").text($titre) ;
$("#description").children("p").text($bla);
$('#slickbox').slideDown();
e.preventDefault();
$(e.target).empty();
//return false;
});
该代码无法正常工作,因为我的滑动框已在工作之前加载。这就是为什么我需要Ajax和发送和执行请求的异步方式的原因。
我在这里阅读了此示例代码:很有帮助。但是,我有一个问题:我正在使用jQuery,并且想使用$.ajax()
。而且我只是不太了解如何做到这一点。
是否必须设置XHMLHTTPRequest对象?我在哪里可以编写Ajax调用?我可以调用函数而不是URL吗?
喜欢做(我不知道):
$(#creations li).click(function(e){
$.ajax(){
function : "displayContent(id,desc,title)",
}
}
function displayContent(id,desc,title){
$(#slickBox).children("h1").innerHTML(title);
$(#slickBox).children("p").innerHTML(desc);
$(#slickBox).show();
}
我什至不知道我是否应该使用JSON(但是,因为我的数据已经存储,并且我只想显示它们,所以我认为不需要Json)。
请给我您的见解和高级建议。
当您发送服务器请求(使用ajax)时,就像您在page中提交表单一样。
因此,在提交表单时,您可以使用php进行的所有操作,也可以使用ajax进行。
例如,如果您想使用ajax在php中调用函数,只需向php发送一个参数,如下所示:
$.ajax({
type:'POST',
data:{
param:'Hey_php_call_this_function'
},
success:function(data){
alert('hey jquery , php said : ' + data);
}
});
在服务器端:
if(isset($_POST['param']) && $_POST['param'] == 'Hey_php_call_this_function'){
echo call_a_function(); /// "output to callback success function" = data
}
希望对您有所帮助。
问题内容: 当用户单击链接时,我需要调用ColdFusion函数(存在于.cfm文件中)。我想使用jQuery做到这一点。我有一个jQuery片段,看起来像- 我对jQuery和AJAX都是新手,所以在这里听起来我很幼稚。我应该使用AJAX调用ColdFusion函数吗?诸如请求在服务器上执行特定功能之类的东西。 在这方面的任何帮助,表示赞赏。 干杯。 问题答案: 如果您的cfm中有多个功能(即使
问题内容: 好的,我知道有人问过这个问题,但是我对PHP和JavaScript还是很陌生,直到我开始寻找这个问题的答案之前,我才听说过Ajax,所以不理解以前的答案。 我正在创建一个站点,该站点本质上是SQL数据库中的一堆视频,它一次显示一个视频,我想要一个下一个和上一个视频按钮。 但是我无法摆脱这种ajax的问题,所以我的问题更加简单。 我已经复制了确切的代码, 在我的文件中,我实际上只是对
问题内容: 这可能是一个简单的答案,但是我正在使用jQuery的$ .ajax调用PHP脚本。我要做的基本上是将PHP脚本放入函数中,然后从javascript调用PHP函数。 对此 我如何在javascript中调用该函数?现在,我只使用$ .ajax和列出的PHP文件。 问题答案: 使用调用服务器上下文(或URL,或其他)来调用特定的“动作”。您想要的是这样的: 在服务器端,应读取POST参数
问题内容: 首先,最感谢您解决我的问题,以及您可能提供的任何帮助! 好的,就像标题所说的,我需要从索引页面调用php函数,该函数使用JQuery Ajax在数据库中添加新记录作为投票。此函数将返回一个整数,然后将其打印在调用它的表单按钮内。 有人对我将如何实现这一目标有想法吗?任何指导表示赞赏! 我猜是表单动作属性发布了吗? 问题答案: 是的,创建一个单独的PHP文件,该文件调用该函数并回显输出。
打扰一下。我还在学习令人惊叹的JQuery语言。我遇到了一个问题,读了很多书,但仍然一团糟。希望你能指导我解决问题。 我有三个函数,它们执行三个post调用。它们返回一个文本变量,我最近将其解析为JSON(如果可用)。 问题是所有这些功能都很有效。。。当然,它们是异步的。我需要: 按顺序执行,就像它们是同步的 除此之外,(这是我的挑战之一)函数a接收到一个param1,但在执行后,代码将param
到目前为止,我做到了: 我的Ajax1函数返回ajax对象。我的等待函数看起来像这样: 问题是第二个ajax请求函数(Ajax2)并没有等待等待函数!编辑:我也试过: 什么也没变。从jQuery文档: 在将多个延迟对象传递给jQuery.when的情况下,该方法将从新的“master”返回promise“延迟对象,跟踪已传递的所有延迟的聚合状态。当所有延迟被解决时,该方法将立即解决其主延迟,或者当