Jquery Ajax GET方法不传递变量

时间:2013-08-23 08:25:34

标签: php jquery ajax get preventdefault

以下网址正常:

index.php?page=search_result&maker=Any

我想使用Jquery Ajax函数从另一个页面进入此URL。 这是我的Ajax调用:

$(function(){

    $(".by_maker").on('click',function(){

        var c_maker = $(this).attr('href');

         $.ajax({
               type: "GET",
               datatype: "html",
               url: "index.php?page=search_result",
               data: "maker="+c_maker,
               success: function(response){
                       html(response);} 
           });
    });
});

我喜欢从href中获取'maker'的值,如下面的html:

<a class="by_maker" href="toyota">Toyota</a>

注意:没有'form'和'input'元素。如果我点击丰田链接它不会到达所需的URL!那么,我做错了什么? 任何帮助表示赞赏。提前致谢。

3 个答案:

答案 0 :(得分:1)

return:false;添加到事件处理程序以停止默认操作。

$(".by_maker").on('click',function(){

    var c_maker = $(this).attr('href');

     $.ajax({
           type: "GET",
           datatype: "html",
           url: "index.php?page=search_result",
           data: "maker="+c_maker,
           success: function(response){
                   html(response);} 
       });
       return false;
});

或者,您可以将event传递给回调函数,preventDefault();

$(".by_maker").on('click',function(event){
    event.preventDefault();

答案 1 :(得分:0)

请使用防止默认值,以便它不会重定向到任何位置。或者只是从

中删除“href”

    $(".by_maker").on('click',function(e){
        e.preventDefault();
        var c_maker = $(this).attr('href');

         $.ajax({
               type: "GET",
               datatype: "html",
               url: "index.php?page=search_result",
               data: "maker="+c_maker,
               success: function(response){
                       html(response);} 
           });
    });

OR

保持jquery点击与现在相同 <a class="by_maker">Toyota</a>

答案 2 :(得分:0)

您还可以使用event.preventDefault()来阻止默认操作:

    $(function(){
    $(".by_maker").on('click',function(event){
    event.preventDefault()
    var c_maker = $(this).attr('href');

     $.ajax({
           type: "GET",
           datatype: "html",
           url: "index.php?page=search_result",
           data: "maker="+c_maker,
           success: function(response){
                   html(response);} 
       });
     });
   });