用Ajax调用函数?
我想要实现的目标我想要展示一些作品。 所以,我有这些缩略图。 当访问者点击缩略图时,我想要一个div(称为slickbox)打开并显示标题,描述和关于单击工作的滑块。
我已经完成了什么,以及如何从数据库中获取我的工作数据。 这是我的作品列表的一小部分:
的index.php
<?php while($donnees_messages=mysql_fetch_assoc($retour_messages)){ echo '
'; } ?>
如您所见,我有一个ul标签,其中包含每个作品的li标签。 每个li标签都获取数据库中工作的id,每个li包含h3标签和p标签,其中包含我想在slickbox中显示的文本(对于图像,我稍后会看到)。
现在,我的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; });
此代码无效,因为我的slickbox在工作之前加载。 这就是为什么我需要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)时,这就像您在页面中提交表单一样。
所以当你提交表单时你可以用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 }
希望有帮助。