jquery
  • ajax
  • 2014-05-07 94 views 0 likes 
    0

    我有一个简单的<button type="submit" onClick="dothis();">Click</button>Jquery ajax不能在功能上工作

    这个脚本下面已经没有问题,

    $(document).ready(function() { 
        action = 'test'; 
        $.ajax({ 
        url:'ajax.php', 
        data: 'action='+action, 
        type:'GET', 
        dataType:'json', 
        timeout:7000, 
        error:function(){ alert('Error!'); return false; }, 
        success:function(json){ alert('ok'); } 
        }); 
    }); 
    

    但是当我把它放进函数,那么它不工作,

    function dothis(){ 
        action = 'test'; 
        $.ajax({ 
        url:'ajax.php', 
        data: 'action='+action, 
        type:'GET', 
        dataType:'json', 
        timeout:7000, 
        error:function(){ alert('Error!'); return false; }, 
        success:function(json){ alert('ok in function'); } 
        }); 
    } 
    

    什么是把AJAX到函数的正确方法?

    +1

    你叫'account_register()'什么地方?仅供参考,您的第一个例子也是一个功能。 – jfriend00

    +0

    对不起,我的错误,是dothis() – Peter

    +0

    '' – Darren

    回答

    2

    您可能必须取消提交按钮上的默认操作,因为它可能正在发送表单并重新加载页面。你的ajax调用正在发送,但是这个页面会立即重新加载,所以你不会看到任何结果。

    您可以通过添加

    return false; 
    

    doThis()末取消默认的动作。

    function dothis(){ 
        action = 'test'; 
        $.ajax({ 
        url:'ajax.php', 
        data: 'action='+action, 
        type:'GET', 
        dataType:'json', 
        timeout:7000, 
        error:function(){ alert('Error!'); return false; }, 
        success:function(json){ alert('ok in function'); } 
        }); 
        return false; 
    } 
    

    或者,将您的按钮更改为正常按钮,而不是提交按钮。

    +0

    谢谢,我删除了

    ,它的工作原理! – Peter

    1

    无论是从类型更改您的按钮 “提交”, “按钮” 或 你需要的preventDefault()

    $('someform').on('submit', function(ev){ 
        ev.preventDefault(); 
        action = 'test'; 
        $.ajax({ 
        url:'ajax.php', 
        data: 'action='+action, 
        type:'GET', 
        dataType:'json', 
        timeout:7000, 
        error:function(){ alert('Error!'); return false; }, 
        success:function(json){ alert('ok'); } 
        }); 
    
    }); 
    

    检查这个 http://api.jquery.com/event.preventdefault/

    相关问题