2017-08-10 51 views
0

我想从一个非常基本的网页切换到anthor之一,但一旦我上getAll问题,我在我的JavaScript函数

我以前的网页(该wroking一个)

点击我面对结果的一些问题
<html> 
<head> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
</head> 
<body> 
    <button onclick="getAll()"> Get All The Users </button> 

    <div id="users"></div> 

    <script> 
     function getAll() 

     { 
      $("#users").html(""); 



      $.getJSON("http://localhost:8080/users", function(data) 
      { 
       for (var i in data) { 
        $('#users').append("<p>ID: " + data[i].id + "</p>") 
        $('#users').append("<p>First name: " + data[i].fname + "</p>") 
        $('#users').append("<p>Last name: " + data[i].lname + "</p><br>") 
       } 
      }); 

     } 

    </script> 
</body> 
</html> 

以下是错误:

Uncaught ReferenceError: getAll is not defined 
    at HTMLButtonElement.onclick (testt.html:96) 
onclick @ @ testt.html:96 
testt.html:145 

Uncaught ReferenceError: screenfull is not defined 
    at HTMLDivElement.<anonymous> (testt.html:145) 
(anonymous) @ testt.html:145 

EDITED Nina's答案后,我得到想要的结果,但是网页看起来是这样的:

The result

所以它扭曲我的主页的上半部分。

+0

_“getAll未定义”_ - 当您通过HTML属性使用“老派”事件处理时,函数必须存在_before_元素出现在DOM中。但是既然你已经在使用jQuery,你应该更愿意使用jQuery方法处理按钮点击事件。 – CBroe

回答

1

您需要更改

<div id="requestfs">/div> 

<div id="requestfs"></div> 

而你需要这条线

$.getJSON("http://localhost:8080/users" , function(data[i]) 
//              ^^^ 

更改为(无指标)

$.getJSON("http://localhost:8080/users" , function(data) 

你至少需要包括图书馆的地方,在使用它之前。当你声明函数

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 

可选,你可以使用type属性以及

<script type="text/javascript"> 
+0

假设未指定文本/ javascript。没有必要这样做。 – jhpratt

+0

也许你把背景放在第一位...... –

0

,该{应该是与function关键字在同一行。例如:

function foo() { 

} 

你应该改变所有的(注意,他们对线路110和第20行)。


接下来,在该行

$.getJSON("http://localhost:8080/users" , function(data[i]) { 

function (data[i])应该function (data)


另外,请记住,包括jQuery库。

+1

_“当你声明一个函数时,{应该与函数关键字”_“在同一行上,这只是一个编码约定,但与问题本身无关。这两个变种都是有效的JS。 – CBroe

+0

好吧,它有一个例外,如果你使用'return'关键字返回一个对象,它会导致一个错误(而且很难找到)。这是一种很好的编码习惯。 19:58参见https://www.youtube.com/watch?v=taaEzHI9xyY&list=PL62E185BB8577B63D&index=14。 –