在grails中从gsp页面进行ajax调用

时间:2013-11-26 05:50:35

标签: jquery ajax grails

我是ajax的新手。我正在尝试从我的gsp页面向控制器操作发送请求。但我失败了。它没有调用控制器操作,页面正在重新加载。任何人都可以看看这个和帮助。这是我的查看页面贝娄>>>

    <%@ page contentType="text/html;charset=UTF-8" %>
<html>
<head>
  <title>Ajax First Example</title>
    <g:javascript plugin="jquery" library="jquery" src="jquery/jquery-1.7.2.js"/>
    <script>
        function callAjax(){
            $.ajax({
                url: "returnMe",
                type:"post",
                dataType: 'json',
//            data:{ids:JSON.stringify(idList), option:option, id:id}
                success: function() {
                    alert(1)
                }
            });
        }
    </script>
</head>
<body>
<form name='myForm'>
    <input type="submit" value="Call Ajax Function" onclick="callAjax()">
</form>
</body>
</html>

这是我的控制器操作&gt;&gt;&gt;

def returnMe = {
    String msg = 'sdfsdf'
    render msg as JSON
}

1 个答案:

答案 0 :(得分:7)

你可以试试这个:

onclick="callAjax() return false;">

或者这个:

function callAjax(e){ //<-------pass the event
        e.preventDefault(); // <-----add this to prevent the default behavior
        $.ajax({
           .....
        });
}

根据要求完成ajax电话:

function callAjax(){
        $.ajax({
            url: "returnMe",
            type:"post",
            dataType: 'json',
//          data:{ids:JSON.stringify(idList), option:option, id:id}
            success: function(data) {
                console.log(data); //<-----this logs the data in browser's console
            },
            error: function(xhr){
                alert(xhr.responseText); //<----when no data alert the err msg
            }
        });
    }