Php 用Ajax调用函数?
我想要达到的目标 我有一些作品要展示。所以,我有这些的缩略图。当访问者单击缩略图时,我希望打开一个名为slickbox的div,并显示标题、描述和有关所单击工作的滑块 我已经做了什么,怎么做 我从数据库中获取我的工作数据。以下是我作品清单的一小部分: index.phpPhp 用Ajax调用函数?,php,ajax,jquery,Php,Ajax,Jquery,我想要达到的目标 我有一些作品要展示。所以,我有这些的缩略图。当访问者单击缩略图时,我希望打开一个名为slickbox的div,并显示标题、描述和有关所单击工作的滑块 我已经做了什么,怎么做 我从数据库中获取我的工作数据。以下是我作品清单的一小部分: index.php <?php $retour_messages = mysql_query('SELECT 2K13_works.*, 2K13_categories.nom AS nomCAT FROM 2K13_works, 2K1
<?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>
此代码不起作用,因为我的slickbox在工作之前已加载。这就是为什么我需要Ajax和一种发送和执行请求的异步方式
我在这里阅读了这个示例代码:。
但是,我有一个问题:我正在使用jQuery,我想使用$.ajax。我真的不知道该怎么做
我必须设置XHTML HttpRequest对象吗?在哪里可以编写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做。 e、 g如果您想使用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
}
希望这会有帮助 当您使用ajax发送服务器请求时,这就像您在页面中提交表单一样。 因此,当表单提交时,您可以用php做的每一件事,也可以用ajax做。 e、 g如果您想使用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
}
希望这会有帮助 AJAX所使用的异步编程往往涉及回调。如果查看$.ajax语法,您将提供一个作为参数调用的函数。您可以像$.ajax{success:functiondata{…}}那样完成它。谢谢@WaleedKhan!我会尝试一下,如果我有问题或感谢的话,我会回来的:AJAX所使用的异步编程往往涉及回调。如果查看$.ajax语法,您将提供一个作为参数调用的函数。您可以像$.ajax{success:functiondata{…}}那样完成它。谢谢@WaleedKhan!如果我有问题,我会尝试一下,然后回来。谢谢@Mb Rostami,这是一个我能理解的小解释:我会尝试写下我的代码,如果我有更多问题/解决方案,我会回来。再次感谢您抽出时间!嗯,我开始工作了,它给了我很好的效果。我只是在json_encode上遇到了很多问题,为了得到一个包含结果的数组,但我想我可以和我的朋友google一起处理。再次感谢你@Mb Rostami!谢谢@Mb Rostami,这是一个我能理解的小解释:我会试着写下我的代码,如果我有更多的问题/解决方案,我会回来。再次感谢您抽出时间!嗯,我开始工作了,它给了我很好的效果。我只是在json_encode上遇到了很多问题,为了得到一个包含结果的数组,但我想我可以和我的朋友google一起处理。再次感谢你@Mb Rostami!