AJAX无法发送到PHP

时间:2014-12-10 12:11:06

标签: php ajax

我正在尝试将表单信息从index.html发送到output.php(两者都在同一目录中)但是我收到此错误:

Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0

Fatal error: Unknown: Failed opening required 'C:/xampp/htdocs/Tese_João/test-searchMYSQL/output.php' (include_path='.;C:\xampp\php\PEAR') in Unknown on line 0

如果您也可以帮助我,使用此代码我只能通过按ENTER或在搜索框外单击而不是仅在搜索框中写入来获得AJAX的优势,任何人都知道如何解决这个问题?

的index.html:

<!DOCTYPE html>
<html>
<head>
<title> Escolha de molecula</title>

<script>
    function showUser(str) {
        if (str=="") {
            document.getElementById("ajax").innerHTML="";
            return;
        } 

        if (window.XMLHttpRequest) {
            // code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp=new XMLHttpRequest();
        } else { // code for IE6, IE5
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }

        xmlhttp.onreadystatechange=function() {
            if (xmlhttp.status==200) {
                document.getElementById("ajax").innerHTML=xmlhttp.responseText;
            }
        }

        var txq=document.getElementById("textquery").value; 
        xmlhttp.open("POST","output.php?",true); 
        xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");            
        xmlhttp.send("textquery=" + txq); 
    }
</script>

</head>


<body>
    <h1 style="text-align:center;font-size: 60px"> 
        Search for molecule in our database 
    </h1>
    <hr>
        <p style="color:blue">
        <q>
            I have lived much of my life among molecules. They are good company.
        </q>
        George Wald
        </p>
    <hr>

    <p style="font-family:verdana">
        just write something in the search bar and it will retrieve it    <br>
        More information at: <a href="http://xldb.fc.ul.pt/" target="_blank">http://xldb.fc.ul.pt/</a>        
    </p>


    search: <input type="text"  id="textquery" onchange="showUser()" ><br> 

    </form>

    <br>

    <div id="ajax"><b>search results are displayed here</b></div> 
</body>
</html>

output.php:

<?php

$con=mysqli_connect("127.0.0.1","","","ulchemd");
    // Check connection
if (mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$pesquisa =mysqli_real_escape_string($con, $_POST['textquery']);
$resposta = mysqli_query($con,"SELECT * from target WHERE molecule.target_text like '%$pesquisa%' ");

echo " <b> Search results:";




echo "<table border='5'>
<tr>
<th>ID</th>
<th>target_type</th>
<th>name</th>
<th>text</th>
</tr>";


while($row = mysqli_fetch_array($resposta)) { 
//este while vai buscar cada linha da tabela num ciclo como um cursor
  echo "<tr>";
  echo "<td>" . $row['tid'] . "</td>";
  echo "<td>" . $row['target_type'] . "</td>";
  echo "<td>" . $row['name'] . "</td>";
  echo "<td>" . $row['target_text'] . "</td>";
  echo "</tr>";
}

echo "</table>";

mysqli_close($con);
?>

谢谢:)

1 个答案:

答案 0 :(得分:1)

与您的问题/代码一样,index.htmloutput.php.

文件中都没有此类错误或例外情况

根据错误,您尝试在代码中导入文件。所以请分享您的完整代码。

您也可以尝试更改output.php文件路径,如下所示。

xmlhttp.open("POST","http://localhost/projectName/output.php",true);