2016-05-10 12 views
0

編集#2:Uhhhhhh、コンピュータを再起動するとエラーが消えてしまいます。私は何も変えなかった。もう一つの素晴らしい日は、存在しなかったバグで無駄になりました....nodejsを持つサーバーを実行しているときに「Can not GET/null」と表示される

私はこれを削除することはできますか?

私のコードはこれまでどんなルートもなく正常に動作していましたが、これが起き始めました。私は一日のようにコミットしなかったので、最後のセーブをロードしたくありません。これはどういう意味ですか、どうすれば修正できますか?

googleで「get/null nodejs」を検索すると、私が経験しているものと何も似ていないので、何を聞くべきか分かりません。あなたが私にそれを掲示したいなら、私は500行のコードが好きです。

_________________________________ 
<!doctype html> 
<html> 
<body> 
<div id="signDiv"> 
Username: <input id="signDiv-username" type="text"></input><br> 
Password: <input id="signDiv-password" type="password"></input><br> 
<button id="signDiv-signIn">Sign in</button> 
<button id="signDiv-signUp">Sign up</button> 
</div> 

<div id="gameDiv" style="display:none;"> 
    <canvas id="ctx" width="500" height="500" style="border:1px solid #000000;"></canvas> 

    <div id="chat-text" style="width:500px; height:100px; overflow-y:scroll"> 
     <div>Hello</div> 
    </div> 

    <form id="chat-form"> 
     <input id="chat-input" type="text" style="width:500px"></input> 
    </form> 

</div> 

<script src="http://cdn.socket.io/socket.io-1.4.5.js"></script> 
<script src="http://code.jquery.com/jquery-1.11.1.js"></script> 
<script type="text/javascript"> 
    var userip; 
</script> 

<script type="text/javascript" src="https://l2.io/ip.js?var=userip"></script> 
<script type="text/javascript"> 
    document.write("Your IP is :", userip); 
</script> 



<script> 
    var socket = io(); 

    //sign in/up 
    var signDiv = document.getElementById('signDiv'); 
    var signDivUsername = document.getElementById('signDiv-username'); 
    var signDivSignIn = document.getElementById('signDiv-signIn'); 
    var signDivSignUp = document.getElementById('signDiv-signUp'); 
    var signDivPassword = document.getElementById('signDiv-password'); 

    signDivSignIn.onclick = function(){ 
     socket.emit('signIn',{username:signDivUsername.value,password:signDivPassword.value}); 
    }; 
    signDivSignUp.onclick = function(){ 
     socket.emit('signUp',{username:signDivUsername.value,password:signDivPassword.value}); 
    }; 
    socket.on('signInResponse', function(data){ 
     if(data.success){ 
      signDiv.style.display = 'none'; 
      gameDiv.style.display = 'inline-block'; 
     } else 
      alert("Sign in unsuccessul."); 
    }); 

    socket.on('signUpResponse', function(data){ 
     if(data.success){ 
      alert("Sign up successful."); 
     } else 
      alert("Sign up unsuccessul."); 
    }); 



    var chatText = document.getElementById("chat-text"); 
    var chatInput = document.getElementById("chat-input"); 
    var chatForm = document.getElementById("chat-form"); 

    var ctx = document.getElementById("ctx").getContext("2d"); 
    ctx.font = "30px Arial"; 


    socket.on('newPositions', function (data){ 
     ctx.clearRect(0,0,500,500); 
     for(var i=0 ; i < data.player.length; i++) 
      ctx.fillText(data.player[i].number, data.player[i].x, data.player[i].y);   

     for(var i=0 ; i < data.bullet.length; i++) 
      ctx.fillRect(data.bullet[i].x-5, data.bullet[i].y-5, 10, 10);  
    }); 

    // socket.on('hit event', function(linkbulletdata){ 
    // window.location=String(linkbulletdata); 
    // signDiv.style.display = 'inline-block'; 
    // gameDiv.style.display = 'none'; 


    // }); 



    socket.on('addToChat', function(data){ 
     chatText.innerHTML += '<div>' + data + '</div>'; 
    }); 


    socket.on('evalAnswer', function(data){ 
     console.log(data); 
    }); 



    chatForm.onsubmit = function(e){ 
     e.preventDefault(); 
     if(chatInput.value[0] === '/') { 
      socket.emit('evalServer', chatInput.value.slice(1)); 
     } 
     else {socket.emit('sendMsgToServerLoadGun', chatInput.value);} 
     chatInput.value = ''; 
    } 


    $(document).ready(function(){ 
     $("body").keydown(function(e){ 
       switch(e.which) { 
        case 32: //space ATTACK 
        socket.emit('keyPress', {inputId:'attack', state:true}); 
        console.log('shoot'); 
        break; 

        case 37: // left 
       socket.emit('keyPress', {inputId: 'left', state: true }); 
        console.log("keycode= " + e.keyCode); 
        break; 

        case 38: // up 
        socket.emit('keyPress', {inputId: 'up', state: true }); 
        console.log("keycode= " + e.keyCode); 
        break; 

        case 39: // right 
        socket.emit('keyPress', {inputId: 'right', state: true }); 
        console.log("keycode= " + e.keyCode); 
        break; 

        case 40: // down 
        socket.emit('keyPress', {inputId: 'down', state: true }); 
        console.log("keycode= " + e.keyCode); 
        break; 

        default: return; // exit this handler for other keys 
       } 
       e.preventDefault(); // prevent the default action (scroll/move caret) 


     }); 
    }); 

    document.onmousemove = function(event){ 
     var x = -250 + event.clientX -8; 
     var y = -250 + event.clientY -8; 
     var angle = Math.atan2(y,x)/Math.PI*180; 
     socket.emit('keyPress', {inputId:'mouseAngle', state:angle}); 
    } 

    document.onmousedown = function(event){ 
     socket.emit('keyPress', {inputId:'attack', state:true}); 
    } 

    document.onmouseup = function(event){ 
     socket.emit('keyPress', {inputId:'attack', state:false}); 
    } 


    $(document).ready(function(){ 
     $("body").keyup(function(e){ 
       switch(e.which) { 
        case 32: //space 
        console.log('space'); 
        socket.emit('keyPress', {inputId:'attack', state:false}); 
        break; 

        case 37: // left 
       socket.emit('keyPress', {inputId: 'left', state: false }); 
        console.log("keycode= " + e.keyCode); 
        break; 

        case 38: // up 
        socket.emit('keyPress', {inputId: 'up', state: false }); 
        console.log("keycode= " + e.keyCode); 
        break; 

        case 39: // right 
        socket.emit('keyPress', {inputId: 'right', state: false }); 
        console.log("keycode= " + e.keyCode); 
        break; 

        case 40: // down 
        socket.emit('keyPress', {inputId: 'down', state: false }); 
        console.log("keycode= " + e.keyCode); 
        break; 

        default: return; // exit this handler for other keys 
       } 
       e.preventDefault(); // prevent the default action (scroll/move caret) 


     }); 
    }); 



</script> 
</body> 
</html> 
+1

私はどこからでもリクエスト(リンク、画像など)を探しています。 null値からURLを生成しようとしているようです。 –

+1

デバッグを試すことはできますか?問題の原因となっている行が見つかるまで 'console.log'などを追加してください。次に、問題を関連するコードに絞り込み、投稿することができます。 [mcve]の作成方法を参照してください。 –

答えて

1

問題は、node.jsサーバーコードではなくクライアントコードである可能性が最も高いです。 express.jsサーバーを起動してからブラウザでlocalhost:3000/nullにアクセスするとこのエラーが再現できます。ブラウザは「Can not GET/null」と表示されます。

これ以上の情報はありません。この問題は、クライアントコード(node.jsサーバーから情報を要求しているコード)の可能性が高いです。おそらく、クライアントコード内のjsオブジェクトの1つがnullに設定されているように見えます。そのオブジェクトは、node.jsサーバーへのリクエストのパスとして使用されています。あなたのサーバーにおそらく/nullのルートがないため、そのエラーが表示されます。

希望に役立ちます!私が完全に間違っている場合は、クライアント側のコードを自由に投稿してください。

+0

はい、それはクライアントにあることは間違いありません。 OPにクライアント "index.html"を追加しました。 JSHintは問題を解決するものを選んでいませんbtw –

+0

何も私に飛び出しません。いくつかの詳細が役立つかもしれません - 例えば、エラーメッセージを再現するために何をしますか?エラーメッセージはどこに表示されますか?ブラウザのコンソールまたはサーバーログに表示されますか?またはブラウザのメインページに表示されますか? – peregrine42

関連する問題