Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ajax中的php ajax_Php_Javascript_Ajax - Fatal编程技术网

ajax中的php ajax

ajax中的php ajax,php,javascript,ajax,Php,Javascript,Ajax,我有一些ajax可以将php脚本输出加载到div中。我希望用户能够单击输出中的链接并重写div,而无需重新加载整个页面。原则上这可能吗?想象一下,代码如下所示: html php2 $par1=$\u get['par1']; 更改数据库 回声'; 这在原则上是可行的还是有缺陷 谢谢。您描述的是标准的日常AJAX。PHP与方程无关;JS将只接收服务器发送的任何内容。在您的例子中,服务器响应正由PHP处理。然而,JS和PHP之间没有——不可能有直接的关系 因此,原则是好的。不过,你对它的实际操作

我有一些ajax可以将php脚本输出加载到div中。我希望用户能够单击输出中的链接并重写div,而无需重新加载整个页面。原则上这可能吗?想象一下,代码如下所示:

html

php2

$par1=$\u get['par1'];
更改数据库
回声';
这在原则上是可行的还是有缺陷


谢谢。

您描述的是标准的日常AJAX。PHP与方程无关;JS将只接收服务器发送的任何内容。在您的例子中,服务器响应正由PHP处理。然而,JS和PHP之间没有——不可能有直接的关系

因此,原则是好的。不过,你对它的实际操作当然会影响它的工作效果

需要考虑的事项:

  • PHP将做什么?这可能会影响加载时间
  • 如果这是适用的,那么缓存响应如何,这样PHP就不必计算以前生成的内容了
  • 用户界面-是否会让用户知道正在获取内容

等等。

我习惯于使用jQuery,因此我将给出使用它的示例

如果您将链接创建为

<a href="file_to_run.php?par1=1&par2=2&par3=3" id="do_this">Click Me</a>

然后,您可以将代码编写为

<script>
  $("#do_this").live('click', function(){
    var link_url = $(this).attr('href');
    $.ajax({
      url: link_url,
      success: function(data) {
        $('#displayhere').html(data);
      }
   return false;
 };
</script>

$(“#这样做”).live('click',function(){
var link_url=$(this.attr('href');
$.ajax({
url:link\uURL,
成功:功能(数据){
$('#displayhere').html(数据);
}
返回false;
};

如果使用jQuery,请确保使用.live('click',function(){})方法,而不是.click(function(){})方法,否则它将无法识别动态创建的元素。另外,请确保返回false。

这肯定可以工作——我有一个不同的方法,我在一个有少量流量的系统中使用,它就像一个符咒一样工作。通过不同的方法,你是指完全不同的还是这一方法的变体。。
function reLoad(par1,par2,par3) {
...
 document.getElementById("displayhere").innerHTML=xmlhttp.responseText;
xmlhttp.open("GET","php2.php?par1="+par1 etc.,true);
xmlhttp.send();
$par1 = $_get['par1'];
change database
echo '<a href="javascript:void(0);" onclick="reLoad(par1,par2,par3);">'.$par1.'</a>';
<a href="file_to_run.php?par1=1&par2=2&par3=3" id="do_this">Click Me</a>
<script>
  $("#do_this").live('click', function(){
    var link_url = $(this).attr('href');
    $.ajax({
      url: link_url,
      success: function(data) {
        $('#displayhere').html(data);
      }
   return false;
 };
</script>