2016-03-29 22 views
1

Ich muss JavaScript(jQuery) Variable durch URL übergeben, so kann ich es in $_GET mit PHP fangen. Hier ist was ich bereits versucht habe:Wie man JavaScript-Variable über URL übergeben?

$(document).ready(function(){ 
    var click=0; 
    $('#next').click(function(){ 
     var count=$('#next').val();//ovdje imamo koliko je maksimalna proslidjena vrijednost 
     var data = {}; 
     click++; 
     if(click>=count){ 
      click=count; 
     } 
     data.clicks=click; 

     window.location.replace('https://www.servis-racunara.net/pages/notifications_page.php?click='+click); 
    }); 
}); 

Funktioniert nicht.

$(document).ready(function() { 
    var click = 0; 
    $('#next').click(function() { 
     var count = $('#next').val();//ovdje imamo koliko je maksimalna proslidjena vrijednost 
     var data = {}; 
     click++; 
     if (click >= count) { 
      click = count; 
     } 
     data.clicks = click; 
     $.get("notifications_page.php", 
      { page: clicks }, 
      function() { 

      }); 
    }); 
}); 

Funktioniert nicht.

$(document).ready(function(){ 
    var click=0; 
    $('#next').click(function(){ 
     var count=$('#next').val();//ovdje imamo koliko je maksimalna proslidjena vrijednost 
     var data = {}; 
     click++; 
     if(click>=count){ 
      click=count; 
     } 
     data.clicks=click; 
     $.ajax({ 
      url: "notifications_page.php", 
      type: "GET", 
      dataType: "JSON", 
      data: data, 
      async: true, 
      success: function (data) { 

      } 
     }); 
    }); 
}); 

Dies funktioniert, aber seltsam. Es sendet Parameter, aber ich kann es nicht mit $_GET in PHP abfangen. Bitte helfen Sie, wenn Sie eine Idee haben, wie Sie damit umgehen sollen. UPDATE: Wenn ich Inspect Werkzeug suche unter Network hier ist das, was ich sehe: enter image description here

Alles funktioniert gut, aber ich weiß nicht, wie diese Parameter hier, weil in meiner Seite zu fangen ist, wie $_GET aussehen : enter image description here

Ich denke, diese Seite sollte neu geladen werden, damit $_GET Parameter zu fangen. Was denken Sie?

SECOND UPDATE: fand ich einen Weg, damit diese Variable click in URL zu setzen:

$(document).ready(function(){ 
     var click=0; 
     $('#next').click(function(){ 
      var count=$('#next').val();//ovdje imamo koliko je maksimalna proslidjena vrijednost 

      click++; 
      if(click>=count){ 
       click=count; 
      } 

      $('a').attr('href','?id='+click); 
}); 
     }); 

Diese letzte Zeile macht alles. Aber jetzt funktioniert mein Counter nicht, weil die Seite neu geladen wurde (Attribut href). Kannst du mir bitte helfen, nur um das zu beheben?

+1

Remove datatype: JSON;) – Refilon

+0

können Sie bitte den entsprechenden Teil von 'notifications_page.php' teilen ? – briosheje

+0

überprüfen Sie Ihr Skript richtig gehen Sie zu "notifications_page.php" oder nicht. Wenn seine Arbeit bedeutet, teste zuerst echo msg. nach der Verwendung $ _GET ['Klicks'] –

Antwort

0

Sie übergeben ein JS-Objekt als Daten. Führen Sie ein JSON.stringify für Ihre Daten aus, bevor Sie es an den AJAX-Aufruf übergeben, und es wird funktionieren. Beispiel:

$.ajax({ 
     url: "notifications_page.php", 
     type: "GET", 
     dataType: "JSON", 
     data: JSON.stringify(data), 
     async: true, 
     success: function (data) { 

     } 
}); 

Referenz: Passing js object as json to jquery?

0

versuchen, diese Struktur in Ihrem Ajax Teil,

$.ajax({ 
     type: "GET", 
     data: { 
     "count": count 
     }, 
     url: "notifications_page.php", 
     success: function(data) { 
     alert("Success"); 
     }, 
     error: function(data) { 
     alert("fail"); 
     } 
Verwandte Themen