为什么我的onclick没有链接到我的Javascript? 我正在创建一个网页,链接到一个Web服务,显示一个商店名称列表。我创建了一个指向web服务的链接,并创建了一个名为GetOrders的onclick函数。我把它放在我的HTML5页面和JavaScript页面中,并将它们链接在一起。但是,当我尝试运行应用程序时,什么也没有发生。我使用了InternetExplorer上的调试器工具来跟踪我的代码,但它只显示按钮已被单击,而没有显示其他内容。我所有的JavaScript代码都没有被执行。我的JavaScript代码中唯一有效的部分是我的菜单选择函数。你能帮我找出为什么我的GetOrders函数没有被执行吗
我的HTML5页面:为什么我的onclick没有链接到我的Javascript? 我正在创建一个网页,链接到一个Web服务,显示一个商店名称列表。我创建了一个指向web服务的链接,并创建了一个名为GetOrders的onclick函数。我把它放在我的HTML5页面和JavaScript页面中,并将它们链接在一起。但是,当我尝试运行应用程序时,什么也没有发生。我使用了InternetExplorer上的调试器工具来跟踪我的代码,但它只显示按钮已被单击,而没有显示其他内容。我所有的JavaScript代码都没有被执行。我的JavaScript代码中唯一有效的部分是我的菜单选择函数。你能帮我找出为什么我的GetOrders函数没有被执行吗,javascript,json,ajax,html,onclick,Javascript,Json,Ajax,Html,Onclick,我的HTML5页面: <!DOCTYPE html> <html> <head> <title>Adam Zeidan Assignment 4</title> <link rel="stylesheet" type="text/css" href="styles/Assignment4.css" /> <script src="js/Assignment4.js"></scrip
<!DOCTYPE html>
<html>
<head>
<title>Adam Zeidan Assignment 4</title>
<link rel="stylesheet" type="text/css" href="styles/Assignment4.css" />
<script src="js/Assignment4.js"></script>
</head>
<body>
<section id="title">
<h1>Module 4 Demonstration</h1>
<hr>
<select onchange="MenuChoice()" id="menu">
<option>Please select an option</option>
<option>Store List</option>
<option>Order History</option>
</select>
<hr>
</section>
<section id="section1" class="section1">
<h2>This is section one!</h2>
<button onclick="GetOrders()" id="orders">Display Store List</button>
<br>
<br>
<label id="storelistdisplay">The store list will be displayed here. </label>
</section>
<section id="section2" class="section2">
<h2>This is section two!</h2>
</section>
</body>
</html>
亚当·齐丹任务4
模块4演示
请选择一个选项
存储列表
订单历史
这是第一节!
显示存储列表
商店列表将显示在此处。
这是第二节!
我的JavaScript页面:
function MenuChoice()
{
{
if (document.getElementById("menu").value == "Store List")
{
document.getElementById("section1").style.visibility = "visible";
document.getElementById("section2").style.visibility = "hidden";
}
else if (document.getElementById("menu").value == "Order History")
{
document.getElementById("section1").style.visibility = "hidden";
document.getElementById("section2").style.visibility = "visible";
}
else
{
document.getElementById("section1").style.visibility = "hidden";
document.getElementById("section2").style.visibility = "hidden";
}
}
function GetOrders()
{
var objRequest = new XMLHttpRequest(); //Create AJAX request object
//Create URL and Query string
var url = "http://bus- pluto.ad.uab.edu/jsonwebservice/service1.svc/getAllStores/";
url += document.getElementById("custid").value;
//Checks that the object has returned data
objRequest.onreadystatechange = function()
{
if (objRequest.readyState == 4 && objRequest.status == 200)
{
var output = JSON.parse(objRequest.responseText);
GenerateOutput(output);
}
}
//initiate server request
objRequest.open("GET", url, true);
objRequest.send();
}
}
function GenerateOutput (result)
{
var count = 0;
var displaytext = "";
//This loop will extract data from the data recieved from the server
for (count = 0; count < result.GetAllStoresResult.Length; count++)
{
displaytext = result.GetAllStoresResult[count].StoreID + ", " + result.GetAllStoresResult[count].StoreName + ", " + result.GetAllStoresResult[count].StoreCity + "<br>";
}
document.getElementById("storelistdisplay").innerHTML = displaytext;
}
函数MenuChoice()
{
{
if(document.getElementById(“菜单”).value==“存储列表”)
{
document.getElementById(“section1”).style.visibility=“可见”;
document.getElementById(“section2”).style.visibility=“hidden”;
}
else if(document.getElementById(“菜单”).value==“订单历史”)
{
document.getElementById(“section1”).style.visibility=“hidden”;
document.getElementById(“section2”).style.visibility=“可见”;
}
其他的
{
document.getElementById(“section1”).style.visibility=“hidden”;
document.getElementById(“section2”).style.visibility=“hidden”;
}
}
函数GetOrders()
{
var objRequest=new XMLHttpRequest();//创建AJAX请求对象
//创建URL和查询字符串
变量url=”http://bus- pluto.ad.uab.edu/jsonwebservice/service1.svc/getAllStores/”;
url+=document.getElementById(“custid”).value;
//检查对象是否已返回数据
objRequest.onreadystatechange=函数()
{
if(objRequest.readyState==4&&objRequest.status==200)
{
var output=JSON.parse(objRequest.responseText);
生成输出(输出);
}
}
//启动服务器请求
open(“GET”,url,true);
objRequest.send();
}
}
函数生成输出(结果)
{
var计数=0;
var displaytext=“”;
//此循环将从从服务器接收的数据中提取数据
for(count=0;count”;
}
document.getElementById(“storelistdisplay”).innerHTML=displaytext;
}
就像上面Marc B评论的那样,可能是放错了位置的{
导致了您的问题。在MenuChoice()
中,第一个if语句在if子句之前打开了一个花括号,而不是在if子句之后。您的JS文件中有一个小的打字错误,GetOrders函数中有额外的“}”。我纠正了它。使用下面的代码
function GetOrders()
{
var objRequest = new XMLHttpRequest(); //Create AJAX request object
//Create URL and Query string
var url = "http://bus- pluto.ad.uab.edu/jsonwebservice/service1.svc/getAllStores/";
url += document.getElementById("custid").value;
//Checks that the object has returned data
objRequest.onreadystatechange = function()
{
if (objRequest.readyState == 4 && objRequest.status == 200)
{
var output = JSON.parse(objRequest.responseText);
GenerateOutput(output);
}
}
//initiate server request
objRequest.open("GET", url, true);
objRequest.send();
}
你的URL中有一个很大的空间。你有404错误吗?你的
MenuChoice()
函数中有一个额外的{
,这可能是一个语法错误,导致整个js页面失效。我的url代码中没有太大的空间。这一定是我在这里复制代码时的错误。我没有收到404错误,我已经删除了额外的代码{我有,但它毁掉了我的整个js页面。