如何在onclick上刷新特定div而不会丢失动态数据

时间:2017-01-25 09:30:28

标签: javascript php jquery html

我想在调用onclick时获取数据。我的表单中有四个div,我只想重新加载特定的div并获取数据。加载时不应丢弃表单数据。有人帮忙。提前感谢那些愿意帮助我的人。

我的代码看起来像这样

<div id="fetch">
<?php
//query to fetch data
?>
</div>
<div id="data4">
//dynamic data
//Want to retain this data even after fetch
</div>

2 个答案:

答案 0 :(得分:1)

在这种情况下,您应该使用AJAX。 您可以将xmlhttprequest(JS)发送到单独的php文件,该文件返回您需要的数据(例如字符串/ JSON),并使用JS将其插入您的网站。

示例:

function test()
  {
    xhr = new XMLHttpRequest();
    xhr.onreadystatechange = function()
    {
      if(xhr.readyState==4 && xhr.status==200)
      {
        result = xhr.responseText;
        document.getElementById("test_field").innerHTML = result;
      }
    }
    xhr.open("GET","your_ajax_file.php",true);
    xhr.send();
  }

your_ajax_file.php返回您要插入的数据。

答案 1 :(得分:0)

您提到函数调用存在问题,但您没有提供更多信息。所以我会给你一个如何编写ajax请求的例子,然后你可以给我更详细的信息来解答你的问题。

$.ajax({
    url: 'ajax_file.php',
    type: 'post',
    data: {var1: 'value1', var2: 'value2'},
    success: function( data ){
        console.log('ajax request successful! data: '+data);
    },
    error: function( jqXhr, textStatus, errorThrown ){
        console.log( errorThrown );
    }
});

在你的ajax_file.php中做这样的事情:

<?php
$var1 = $_POST['var1'];
$var2 = $_POST['var2'];

echo $var1.', '$var2;

编辑:拼写错误,在ajax请求中将val2更改为var2