【问题标题】:jquery get function with link带有链接的jquery获取函数
【发布时间】:2012-05-05 09:37:36
【问题描述】:

我有一些参数链接:

<a href="index.php?page=home&lang=en" class="flag">
    <img src="./images/flags/en.png" class="flag_on" alt="en" title="en">
</a>

以及如何通过点击 jQuery/Ajax 链接将 $lang 参数解析为 index.php?

我的工作示例:

$(".flag").click(function(event) {
    event.preventDefault();
    $.get(this.href, function(data) {
        location.reload();
    });
});

【问题讨论】:

  • 当您点击图片时,您正试图从a 标记中获取查询字符串lang 参数?
  • @Tejs:我点击链接。它将重定向到index.php?page=home&amp;lang=en。然后在 index.php 中我有 $_GET['lang'] 来管理该参数。
  • 我不知道你在问什么。
  • @asawyer - 我也不是,这里有什么意义,应该解析什么,PHP 变量 $lang 或者是在 $.get 函数中插入正确 href 的点,就像许多答案呢?
  • @adeneo: php 变量$lang 解析为index.php

标签: jquery hyperlink get href


【解决方案1】:

如果你想请求相同的 url,那么试试这个。无需解析查询字符串参数并创建相同的 url。

$(".flag_on").click(function(e){
    $.get(this.parent()[0].href, function(data) {
        $('.result').html(data);
        alert('Load was performed.');
    });
    e.stopPropagation(); //stop event bubbling
});

【讨论】:

  • 由于类在img元素上不起作用,他需要定位到父元素
【解决方案2】:

尝试在您的获取请求中定位锚点的 href。像

var target_url =$(this).parent("a") 
$.get(target_url, function(data){
  do something...
}

你也可以解析 target_url 来获取参数

【讨论】:

    【解决方案3】:
    $(".flag_on").click(function(){
        $.get($(this).parent().attr("href"), function(data) {
             $('.result').html(data);
             alert('Load was performed.');
        });
    });​
    

    或者您可以修改 HTML 代码以使用链接而不是图像的点击事件:

    <a href="index.php?page=home&lang=en" class="flag">
        <img src="./images/flags/en.png" class="flag_on" alt="en" title="en">
    </a>
    
    $(".flag").click(function(event) {
        event.preventDefault();
        $.get(this.href, function(data) {
            $('.result').html(data);
            alert('Load was performed.');
        });
    });
    

    【讨论】:

    • 第二个选项可能有效。您可以更改脚本以重新加载页面 1 时间以查看更改吗?删除警报并插入页面重新加载。
    • 好吧,我真的不明白你想得到什么。如果您使用 Ajax 更新页面上的某些内容而无需重新加载,那么$('.result').html(data) 非常适合。如果你想用 Ajax 更新整个页面,那么你可以简单地用$('body').html(data) 更新正文。但是,如果您希望重新加载页面,则根本不需要 Ajax,只需单击链接即可更新您的页面,前提是您的 PHP 脚本已针对此进行了调整。
    猜你喜欢
    • 2011-12-05
    • 2013-02-03
    • 1970-01-01
    • 2018-02-13
    • 2011-07-05
    • 2011-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多