我是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>
这是我的控制器动作>>>
def returnMe = { String msg = 'sdfsdf' render msg as JSON }
您可以尝试以下方法:
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 } }); }