gpt4 book ai didi

javascript - 第一个使用 ajax 的小型食品店项目 - 不执行

转载 作者:行者123 更新时间:2023-12-02 17:57:59 26 4
gpt4 key购买 nike

我刚刚开始学习 Ajax,并观看了有关如何编写一个小输入来检查食品店是否有库存的教程。

我已经多次检查了代码,但它仍然没有执行任何内容。如果有人能在这里帮助我,我会很高兴。

代码基本上由三个文件组成:

Index.html

<!DOCTYPE html>

<html>

<head>

<script type="text/javascript" src="foodstore.js"></script>

</head>

<body onload="process()">

<h3>The Food Store</h3>

<p>Enter the food you would like to have:</p>
<input type="text" id="userInput">
<div id="underInput"/>

</body>

</html>

foodstore.php

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

echo '<response>';
$food = $_GET['food'];
$foodArray = array('tuna', 'bacon', 'beef', 'ham');
if(in_array($food,$foodArray)) {
echo 'We do have '.$food'!';
echo '</response>';
}
}


?>

最后是 foodstore.js

    var xmlHttp = createXmlHttpRequestObject();

function createXmlHttpRequestObject() {
var xmlHttp;

if(window.ActiveXObject) {
try{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e){
xmlHttp = false;
}
}else{
try{
xmlHttp = new XMLHttpRequest();
} catch(e){
xmlHttp = false;
}
}

if(!xmlHttp)
alert("Cant create that object!");

else {
return xmlHttp;
}
}

// This is now the communication part!

function process() {
if(xmlHttp.readyState==0 || xmlHttp.readyState==4){
food = encodeURIComponent(document.getElmentById("userInput").value);
xmlHttp.open("GET", "foodstore.php?food=" + food, true);
xmlHttp.onreadystatechange = handleServerResponse;
xmlHttp.send(null);
}else{
setTimeout('process()',1000);
}
}

function handleServerResponse() {

if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
xmlResponse = xmlHttp.responseXML;
xmlDocumentElement = xmlResponse.documentElement;
message = xmlDocumentElement.firstChild.data;
document.getElementById("underInput").innerHTML = '<span styel="color:blue">' + message + '</span>';
setTimeout('process()',1000);
}else{
alter('Something went wrong!');
}
}

}

我真的很感激一些帮助。我还在 youtube 评论中读到,就 js 部分而言,jQuery 宁愿更容易使用。这是真的吗?

非常感谢!

最佳答案

在 foodstore.js 中,你写的 document.getElementById("userInput").value 有一个小问题,它必须是document.getElementById("userInput").value

关于javascript - 第一个使用 ajax 的小型食品店项目 - 不执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20833376/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com