为什么我的onclick没有链接到我的Javascript? 我正在创建一个网页,链接到一个Web服务,显示一个商店名称列表。我创建了一个指向web服务的链接,并创建了一个名为GetOrders的onclick函数。我把它放在我的HTML5页面和JavaScript页面中,并将它们链接在一起。但是,当我尝试运行应用程序时,什么也没有发生。我使用了InternetExplorer上的调试器工具来跟踪我的代码,但它只显示按钮已被单击,而没有显示其他内容。我所有的JavaScript代码都没有被执行。我的JavaScript代码中唯一有效的部分是我的菜单选择函数。你能帮我找出为什么我的GetOrders函数没有被执行吗

为什么我的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

我的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"></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页面。