2016-08-21 100 views
0

有兩個代碼。一個工作,另一個不工作。爲什麼這個javascript代碼不起作用

我調試它,我發現

「變種EB =新EventBus(」 http://192.168.0.27:8081/bridge 「);」

login.js中的這行不起作用。

謝謝你每次。

工作

<html> 
<head> 
<title></title> 
<script src="https://code.jquery.com/jquery-1.11.2.min.js"></script> 
<script src="//cdn.jsdelivr.net/sockjs/0.3.4/sockjs.min.js"></script> 
<script src="vertx-eventbus.js"></script> 
</head> 

<style> 
.news { 
    font-size: 20pt; 
} 
</style> 

<body> 

    <div class="news">Latest news:</div> 
    <br> 

    <div id="status" class="news"></div> 

    <script> 
    var eb = new EventBus("http://192.168.0.27:8081/bridge"); 
    eb.onopen = function() { 
     // set a handler to receive a message 
     eb.registerHandler('call', function(error, message) { 
      console.log('received a message: ' + JSON.stringify(message)); 
     }); 

     // send a message 
     eb.send('call', {name : 'tim', age : 587}); 
    } 
</script> 

</body> 
</html> 

沒有工作 - login.html的

<!DOCTYPE html> 
<!-- 
    login.html 
    --> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>Flat HTML5/CSS3 Login Form</title> 
</head> 

<body> 
    <div class="login-page"> 
     <div class="form"> 
      <form class="login-form" id="loginForm"> 
       <input type="text" id="username" placeholder="username" /> 
       <input type="password" id="password" placeholder="password" /> 
       <input class="submit" type="submit" title="Login" value="Login" onclick="check(this.form)" /> 

       <p class="message"> 
        Not registered? <a href="#">Create an account</a> 
       </p> 
      </form> 
     </div> 
    </div> 
    <script src="js/login.js"></script> 
</body> 
</html> 

login.js

document.write("<script src='https://code.jquery.com/jquery-1.11.2.min.js'></script>"); 
document.write("<script src='//cdn.jsdelivr.net/sockjs/0.3.4/sockjs.min.js'></script>"); 
document.write("<script src='/vertx-eventbus.js'></script>"); 

function check(form)/*function to check userid & password*/ 
{ 
    /*the following code checkes whether the entered userid and password are matching*/ 
    if(form.username.value != "" && form.password.value != "") { 
     var eb = new EventBus("http://192.168.0.27:8081/bridge"); 

     eb.onopen = function() { 
      // set a handler to receive a message 
      eb.registerHandler('call', function(error, message) { 
       console.log('received a message: ' + JSON.stringify(message)); 
      }); 

      // send a message 
      eb.send('call', {name : 'tim', age : 587}); 
     } 

    } else { 
     alert("Input Password or Username")/*displays error message*/ 
    } 
} 

回答

0

您已寫入

document.write("<script src='/vertx-eventbus.js'></script>"); 

與在工作代碼中的不同。在「vertx ..」之前有一個額外的「/」。這可能是問題嗎?

+0

其實它不是問題。 他們位於不同的路徑。不管怎麼說,還是要謝謝你! –

相關問題