2009-12-20 50 views
1

它在这里;在php和javascript中重新获取请求

echo "<a href='#' class='thumb'><img class='thumb-img' value = ".$row->aid." onclick='getVote(".$row->aid.", \"".$row->atitle."\")' src='images/roadies/th".$row->aid.".jpg' /> </a>"; 

上述函数通过ajax发送“$ row-> aid”值给javascript函数。

在JavaScript中,但是,我想做一个函数,需要$ row-> aid变量的++值。我想让PHP获得新的值,然后再传递给JavaScript。

如何在没有页面重新加载的情况下执行此操作?

为了使事情更清晰,我只需要获得下一个增量值的php变量。我希望PHP从数据库中获得下一个++值并将其传回给JS。

请帮我做这个。 ;))

回答

0

也许我误解了,
但是,你不能只是有一个PHP脚本返回一个字符串或一个包含你需要的值的JSON对象,然后让javascript函数从服务器并更新链接/图像中的属性?

另外,通常你会得到从mysql_fetch_assoc()$row或类似的功能 - 通过再次调用服务器,再查询数据库,并遍历mysql_fetch_assoc的所需次数,你可能会浪费时间。 PHP脚本抓取所有行,将它们存储在JSON对象中,然后(而不是使用AJAX)通过JSON对象进行javascript迭代并更新每次单击的属性不会更容易吗?

更新:

JSON是一种基于文本的方式来表示JavaScript中的对象。把它想象成一个多维数组。 http://en.wikipedia.org/wiki/JSON

您将有一个PHP脚本将JSON对象写入一个变量,您可以将其回显为<script>标记,如echo "var rows = {$JSON_obj};";。在JavaScript中,你可以从rows[1]开始,然后每次链接被点击时,移动到下一个rows[i]或其他任何。

jQuery是你的朋友在这里。它会让AJAX(无论你在哪里使用它)和更改HTML元素变得更容易。我转移到jQuery,从来没有回头看过去的方式。 http://jquery.com/

我现在没有一个例子,但它是一个非常简单的概念。我相信你可以用很少的努力来编写代码。

+0

你很可能是对的,它完全合理。只是我对JSON一无所知。事实上,我也是一个n00b。 ;)) – amit 2009-12-20 22:11:25

+0

你能指点我一个例子吗? – amit 2009-12-20 22:13:32

+0

我的更新指出你对JSON和jQuery主页的解释。点击jQuery.com上的'文档',了解如何使用它 - 文档是一个快速阅读。 – 2009-12-20 22:29:42

0

你可以通过echo $value;将它写入PHP的标准输出并在那里完成PHP脚本。然后JavaScript将获取该值并将其返回到AJAX处理函数中。

+0

我没有关注。该javascript是一个单独的文件script.js。 – amit 2009-12-20 21:57:37

+0

是的,这就是我说的 - 使用PHP脚本通过AJAX返回值,并让JavaScript获取它。 – dusoft 2009-12-20 22:33:20