我有一个像这样的按钮:
<a href="#" onclick="do_something()">Click Me</a>
像这样的图像字段(或嵌入的YouTube,或需要更改值的内容):
<img src="<?php get_src(); ?>" />
当用户单击该按钮时,do_something()
需要从处理数组的PHP文件发送数据(在本例中为JSON,但这不相关),并发回下一个值。
基本上,当您打开页面时,get_src()
包含数组的第一项,并单击do_something()
将信息发送到PHP表单以接收数组中的另一项,该项又发送数据返回文件,并更新get_src()
。
我在概念上有错吗?我真的不知道这是否有效。
答案 0 :(得分:3)
答案很长:使用AJAX(tutorial here)
答案 1 :(得分:3)
使用jQuery,您可以将Ajax帖子绑定到PHP文件:
$('#myLink').click(function() {
var myData = 'myData';
/* post JSON */
$.post('myAjax.php', {data: myData},
/* Callback function */
function(data){
}
,
'json');
});
在myAjax.php中,您可以使用以下内容:
$myData = $_POST['data'];
// do something with data
echo json_encode($jsonResult);
当myAjax.php回显响应时,将触发jQuery回调函数,您可以在其中运行某些执行。
答案 2 :(得分:1)
使用AJAX
,正如kpower建议的那样。或者甚至更好,尝试JQuery Ajax,虽然后来基本上提供了一种简单有趣的方式来进行ajax调用。
Here是来自sitepoint on jquery ajax的一个很好的教程。
修改强>
在服务器端,要将一些数据返回到调用的AJAX方法,可以使用json_encode函数。它以JSON格式从您的数据生成一个字符串。然后你可以echo
该字符串将其传递回ajax回调函数。
请记住,将数据作为对ajax的响应返回就像使用PHP将数据打印到网页一样,只需echo/print
即可。
还要注意这些情况 -
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>First Tag library Example - EL Function</title>
</head>
<body>
<?php echo $your_json_response_string; ?>
</body>
</html>
如果您回复上面的字符串,则整个内容(包括所有HTML标记和其他内容)将作为ajax调用的响应发送。如果您只需要根据某些请求传递一些数据,比如数据库中的某些交易金额,请执行此操作 -
<?php
// do your processing, but print/echo nothing
..........
// Convert your result into a json_string
..........
echo $your_json_response_string;
?>