Javascript Ajax响应为HTML

Javascript Ajax响应为HTML,javascript,php,html,ajax,response,Javascript,Php,Html,Ajax,Response,当在page1.php上单击submit按钮时,响应会以HTML格式打印一会儿,但会自动删除 我想在id=“output”元素的第1页中显示page2.php的响应 我做错了什么 以下是page1.php <script type="text/javascript"> function func(tosearch) { alert("search"); $.ajax({ type: 'post',

当在
page1.php
上单击submit按钮时,响应会以HTML格式打印一会儿,但会自动删除

我想在
id=“output”
元素的第1页中显示
page2.php的响应

我做错了什么

以下是
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>
<?php echo "<table align='center'>"
    ."<tr>"
    ."<td>"."Mr XYZ"."</td>"
    ."<td>"."MALE"."</td>"
    ."<td>"."987558745"."</td>"
    ."<td>"."xyz@gmail.com"."</td>"
    ."</tr>";
?>

响应未被删除,页面正在刷新。因为您根本不希望页面刷新,所以实际上不需要
表单
元素。只需删除
表单
,并将
输入
设置为普通的
按钮
,以保持标记的简单性:

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

//你的JavaScript


这里是表格


或只需添加
事件.preventDefault()
进入
func()
@NewToJS:True,但是如果事件总是被阻止,并且表单永远不应该被用作表单,那么一开始就真的不需要它。删除不需要的东西比编写更多的代码来忽略/防止不需要的东西要好。这是真的,但有些人喜欢将表单定位为对数据进行序列化。对于Aman Tiwari,使用您的答案更好,但对于可能阅读此问题寻求帮助的其他人,我想我会发表评论,因为这可能会帮助其他人。
tosearch
不是defined@charlietfl这是因为函数调用中没有传递任何内容
onclick=“func()”
您可以尝试删除表单中的方法和操作属性。