Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.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
Javascript 用于显示书籍的简单ajax脚本';姓名_Javascript_Php_Html_Ajax - Fatal编程技术网

Javascript 用于显示书籍的简单ajax脚本';姓名

Javascript 用于显示书籍的简单ajax脚本';姓名,javascript,php,html,ajax,Javascript,Php,Html,Ajax,我开始学习Ajax,我做了一个简单的HTML页面,显示用户输入,当他键入一本书的名称(存储在php文件的数组中)时,使用Ajax,用户可以在输入下面看到结果,而他键入时,这是我无法做到的部分,代码如下: 哈希米书店! 输入要订购的书籍 这是JS文件 //3个功能:创建对象、通信和响应 var xmlHttp=createXmlHttpRequestObject(); 函数createXmlHttpRequestObject() { var-xmlHttp; if(window.ActiveX

我开始学习Ajax,我做了一个简单的HTML页面,显示用户输入,当他键入一本书的名称(存储在php文件的数组中)时,使用Ajax,用户可以在输入下面看到结果,而他键入时,这是我无法做到的部分,代码如下:


哈希米书店!
输入要订购的书籍
这是JS文件

//3个功能:创建对象、通信和响应
var xmlHttp=createXmlHttpRequestObject();
函数createXmlHttpRequestObject()
{
var-xmlHttp;
if(window.ActiveXObject)
{
尝试
{
xmlHttp=newActiveXObject(“Microsoft.xmlHttp”);//检查IE
}
捕获(e)
{
xmlHttp=false;
} 
}
其他的
{
尝试
{
xmlHttp=newXMLHttpRequest();/!IE
}
捕获(e)
{
xmlHttp=false;
}
}
如果(!xmlHttp)
警报(“无法创建该对象”);
其他的
返回xmlHttp;
}
函数过程()
{
if(xmlHttp.readyState==0 | | xmlHttp.readyState==4)
{
book=encodeURIComponent(document.getElementById(“userInput”).value);
open(“GET”,“book.php?book=“+book,true”);
xmlHttp.onreadystatechange=handleServerResponse;
xmlHttp.send(空);
}
其他的
{
setTimeout('process()',1000);
}
}
函数handleServerResponse()
{
//发回一个xml文件
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200)
{
xmlResponse=xmlHttp.responseXML;
xmlDocumentElement=xmlResponse.documentElement;
message=xmlDocumentElement.firstChild.data;
document.getElementById(“underInput”).innerHTML=消息;
setTimeout('process()',1000);
}
其他的
{
警惕(“哎呀!出了点问题!”);
}
}
}
这是PHP文件:

   <?php
header('Content-Type: text/xml');
echo '<?xml version="1.0" enconding="UTF-8" standalone="yes" ?>';

echo'<response>';

$book = $_GET['book'];
$bookArray = array('Book1','Book2','Book3');
if(in_array($book, $bookArray))
    echo 'We do have'.$book.'!';
elseif ($book='') 
    echo 'Enter a book name idiot!';
else
    echo 'We dont have'.$book.'!';

echo'</response>';

?>

我无法显示JS文件应该做什么,有人知道如何修复它吗


编辑:我把所有文件都放在了Wamp下的www文件夹中。

你发布的内容有一些错误

首先,您在以下方面有输入错误:

echo '<?xml version="1.0" enconding="UTF-8" standalone="yes" ?>';
                              ^ the "n"
而不是包含额外等号的比较:

elseif ($book='')
             ^
elseif ($book=='')
             ^^
参考资料:


另外,请确保PHP确实已安装、运行并正确配置。

这只是一条建议,如果您目前仍在学习过程中,最好使用jquery。有一个jquery ajax比这个更容易使用。
elseif($book='')
你是在分配而不是比较。是的,我还在学习过程中,谢谢你的建议,我会检查jquery。@Fred ii-我解决了这个问题,仍然是同样的问题,它只显示html。请记住,
Book1
Book1
在数组中是不同的。。用您用于
elseif
的正确语法更新您的问题,以避免进一步混淆。至于“只显示html”,你确定PHP正在运行和安装吗?您是在本地计算机上还是托管?