繁体   English   中英

如何通过URL传递JavaScript变量?

[英]How to pass javascript variable through url?

我需要通过url传递JavaScript(jQuery)变量,因此我可以使用php在$_GET捕获它。 这是我已经尝试过的:

$(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);
    });
});

不起作用

$(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 () {

            });
    });
});

不起作用

$(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) {

            }
        });
    });
});

这可行,但奇怪的是。 它发送参数,但是我无法在PHP中用$_GET捕获它。 如果您有一些解决方法,请提供帮助。 更新:当我查看“ Network下的“ Inspect工具时,将看到以下内容: 在此处输入图片说明

一切正常,但我不知道如何捕获此参数,因为在我的页面中,这是$_GET样子: 在此处输入图片说明

我认为应该重新加载该页面,以便$_GET捕获参数。 你怎么看?

第二次更新:我找到了一种方法来将此变量click以下内容:

$(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);
});
        });

最后一行完成了所有操作。 但是现在由于重新加载页面(href属性),我的计数器不起作用。 您能现在就解决这个问题吗?

您正在将JS对象作为数据传递。 在将数据传递给AJAX调用之前,对数据执行JSON.stringify即可。 例:

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

        }
});

参考:将js对象作为json传递给jquery?

在您的ajax部分尝试这种结构,

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM