2016-12-16 12 views
1

ウェブページを読み込んでいるときに、画面の幅と高さを追加して、特定のページにリダイレクトするためにこれらのvarを使用できるようにしたいと思います。Ajax、GET var onloadを追加

私は機能のために見てきたし、私がまたwindow.screen.widthwindow.screen.height

を使用する必要があるようです、私は、変数を送信するために$.get()を使用する必要があります考え出しました。

私はこのスクリプトを使いましたが、大丈夫かどうかわからないJSとAJAXが混在していると思います。そして、何よりも、私のページが読み込まれているときに関数を実行する方法がわかりません。ここで

$(document).ready(function() { 
    ratio(); 
function ratio() { 
    var Vorientation; 
    if(window.screen.width>window.screen.height) 
    { 
     Vorientation = 1; 
    } 
    else 
    { 
     Vorientation = 2; 
    } 
    $.get("index.php?orientation="+Vorientation); 
    alert("ok"); 
} 
    }); 

はhtmlです:

<body> 

<?php 
if(isset($_GET['orientation'])) 
{ 
echo"ok"; 
} 
?> 

</body> 
+2

'混合JSとajax'をあなたのコードを追加する必要があります:AJAXは言語ではありません。JavaScript(ユーザーコードi)に基づいてページ上にコンテンツを生成するためによく使われる、サーバーからの応答(PHPコードなど)を取得する方法ですnput。 '$ .get'はajax' GET'リクエストを実行するためのjQuery(jsライブラリ)です –

+1

@asdf_enel_hak実際、OPがそれを使用する方法は、グローバル変数です。あなたは正しい。 'var Vorientation; 'のようにifの前に宣言する必要があります – qxz

答えて

2

あなたのページがロードされたときに関数を実行するには、$(document).ready(function(){ });機能にwrapコードに持っています。

使用この:

$(document).ready(function(){ 
    window.Vorientation=0; 
    ratio(); 
    function ratio() { 
     if(window.screen.width>window.screen.height) 
     { 
      Vorientation = 1; 
     } 
     else 
     { 
      Vorientation = 2; 
     } 
     $.get("index.php", { orientation: Vorientation}) 
      .done(function(data) { 
       alert("Data Loaded: " + data); 
      }); 
    } 
}); 
+0

私はVorientationをif/elseの外で宣言する必要があると思いますか? – EQuimper

+1

最初に宣言する必要があります。グローバルを使用しているのはここにはありません – qxz

2

あなたは自分のスクリプトにはjQueryを追加して、文書レディ機能にhttps://learn.jquery.com/using-jquery-core/document-ready/

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
$(function() { 
    ratio(); 
    function ratio() { 
     var Vorientation; 
     if(window.screen.width>window.screen.height) { 
      Vorientation = 1; 
     } else { 
      Vorientation = 2; 
     } 
     $.get("index.php", { orientation: Vorientation}) 
      .done(function(data) { 
       alert("Data Loaded: " + data); 
      }); 
    } 
}); 
+0

データがロードされているという警告が出ました。私のリンクはまだ同じですし、 '?orientation = Vorientation'を見ることができません。 – Ezhno

+0

@Ezhno、エラーがありますか?コンソールで? –

+1

AJAXリクエストはバックグラウンドで発生します。ブラウザのアドレスバーのURLは変更されません。応答データをコールバック関数に返します(ここでは 'data')。 – qxz

関連する問題