Ajax响应为HTML

时间:2017-01-21 15:03:47

标签: javascript php html ajax response

单击page1.php上的提交按钮时,响应会以HTML格式打印片刻,但会自动删除。

我想在page2.php元素的 page1 中显示id="output"的回复。

我做错了什么?

以下是page1.php

的内容
<script type="text/javascript">
    function func(tosearch) {
        alert("search");

        $.ajax({
            type: 'post',
            url: 'page2.php',
            data: {
                'tosearch' : tosearch
            },
            success: function(result) {
                print(result);
            }
        });
    }

    function print(result) {
        document.getElementById("output").innerHTML=result;
    }
</script>

<form method="post" action="page1.php">
    <input type="text" name="search" placeholder="Search.."><br><br>
    <input type="submit" name="submit" onclick="func()">
</form>
<p id="output">table here!!</p>

page2.php

的内容
<?php echo "<table align='center'>"
    ."<tr>"
    ."<td>"."Mr XYZ"."</td>"
    ."<td>"."MALE"."</td>"
    ."<td>"."987558745"."</td>"
    ."<td>"."xyz@gmail.com"."</td>"
    ."</tr>";
?>

1 个答案:

答案 0 :(得分:0)

响应未被删除,页面刷新。由于您根本不想刷新页面,因此您不需要form元素。只需删除form并将input设为普通button即可使标记简单:

<script>
    // your JavaScript
</script>
<input type="text" name="search" placeholder="Search.."><br><br>
<button onclick="func()">    
<p id="output">table here!!</p>