ajax struts1 jsp配置 .ajax怎么把url传到指定的后台action中

如题。struts的xml配置正确。"/sys/mysys" class="action.myaction.GetSomething"
,后台action类GetSomething中,为了检测页面ajax正确传入后台,只写了个打印语句System.out.println("here");前台test.jsp中有一个iframe,当在点击一个<a></a>时触发,就是简单的ajax告知后台action,然后打印here,然后把后台中的一个request.setAttribute的一个变量值传到iframe中的一个a.jsp页面。
.ajax(url:'/sys/mysys',
data'name=?',
success: function(msg){alert("ok" + msg)},
error:function(err){alert("error~" + err)}
);

为什么这个脚本一直报错,总是弹出出错的提示框,即便是成功了,后台也没有那条输出的打印。
请专家们给点建设性意见,急。
最好能再说说是怎么传递action的过程,以及如何传递参数给 action,谢谢啦
谢谢大家的积极回答,不过,只能送给第一个了,sorry to hear that ~!

首先,你这个ajax好像是用的jquery的,如果是的话,下面的也许会对你有些帮助 :
1、ajax的参数你写得有问题,应该是这样的 $.ajax({url:"className!method.action",data:{name:"testname"}}).也就是说,这个ajax传入的参数只会是一个,{url:"",data:""}
2、你的 data'name=?', 是何解? 你再看看我在1中写的格式,他是以key:value的形式。所以这里也是错误。
3、通常啊,我们在给服务器请求的时候,不会直接将访问路径写成“/sys/mysys”,因为'/'的功能是找到了访问路径的根,打个比喻你正在这个页面上:http://192.168.0.1:8080/zhidao/abc.jsp,那么你的访问路径如果想以'/'打头的话,你应该这样写: /zhidao/sys/mysys,这样才会出现 http://192.168.0.1:8080/zhidao/sys/mysys 的效果,若是像你那要写的话,则会出现如下效果:http://192.168.0.1:8080/sys/mysys 。因此你自然是访问不到后台啦。
补充一下,其实我真不知道 你的/sys/mysys是什么意思,下次写清楚一些。追问

谢谢大家的回答,非常感谢。首先我的脚本确实是jquery的。
还有你的 $.ajax({url:"className!method.action",data:{name:"testname"}}).这个东西,我怎么没看明白,尤其是url部分,就像我写的那样的。"/sys/mysys" class="action.myaction.GetSomething"
我要怎么写纳。还有就是你的低3点,其实是我页面的路径myapp/sys/test.jsp

追答

你加我的QQ吧。我发例子给你
1269049758

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-05-10
function testLogin(){
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
$j.ajax({
type:"post",
url:"testlogin.do",
data:{username:username ,password:password},
dataType:"text",
success:function(msg){
if(msg == "false"){
document.getElementById("msgDiv").innerHTML = "登陆失败,请重新登陆.";
}else if(msg == "true"){
document.location.href = "sucessLogin.jsp";
}
}
});
}

二个输入框,一个button,提交到action,后边用String username = request.getParameter("username");
String password = request.getParameter("password");
if("yourname".equals(username) && "yourpw".equals(password)){ //先判下空
out.println("true");
return null;
}else{
out.println("false");
return null;
}本回答被网友采纳
第2个回答  2012-02-16
data'name=?', 这写错了 data:{name:'?'},
在action里加入断点,如果没进去说明你url写的不对,struts1好像不像struts2有个默认的execute方法吧,得拼上方法名追问

en ,谢谢你的回答。data确实要修改。
你说的第二点,我想麻烦你在我的基础上写的具体一点url我是真的不会拼了,就算加上方法名,那要怎么个加法??
感谢感谢朋友们了

ajax struts1 jsp配置 .ajax怎么把url传到指定的后台action中
1、ajax的参数你写得有问题,应该是这样的 $.ajax({url:"className!method.action",data:{name:"testname"}}).也就是说,这个ajax传入的参数只会是一个,{url:"",data:""} 2、你的 data'name=?', 是何解? 你再看看我在1中写的格式,他是以key:value的形式。所以这里也是错误。...

jquery,ajax怎么得到后台action中的list数据,struts1中。
你往后台发送的请求为listBus.do,那么struts配置文件中请求对应的方法名应该为execute(),你的dataType为接送,那么execute中return的值类型,应该为json的格式,这样ajax中通过success:function(data) { alert(data);} data 即为你返回的return字符串,然后将字符串以一定的格式解析,封装为你需要...

...的问题,主要关于action怎么接收数据,怎么返回json?
第一个问题,ajax提交时不会自动提交表单,必须自己处理。你可以在网上找ajax提交表单的方法,或者手动把要传递的参数拼到url中。第二个问题,在action中用response..getWriter().write(json),就可以直接把json传到客户端了。

java web 开发中的前后台交互方法
首先用户请求 login.jsp 登录页面,之后输入用户名密码,表单提交到 servlet ,在 servlet 中可以处理业务逻辑,当然也可以调用如 hibernate 框架操作数据库。 之后根据业务处理的结果,重定向或者转发到某一个页面。完成一次交互(不建议在jsp中直接调用业务逻辑)。struts 好比是对 servlet 的封装,可以通过...

jquery1.6 struts2 ajax调用不了后台的action
1、用Servlet或jsp接一下请求试试,看请求是否真的发出。2、如果请求没有发出,用FireBug跟一下JS代码,看卡在那里。3、你用普通Web请求访问一下action,看Action是否可访问。4、如果请求确实发出,看一下Web.xml Struts2设置那里,是不是需要设置Struts.xml配置文件路径 ...

jsp,struts框架。。如何使数据库中的数据,自动显示到下拉框。。然后id...
下载文件:MyJsp_20131021172218.jsp|看看这个,差不多就是这样了。后台你把数据取出来后,循环放到map中再付值给list,然后把list通过request.setAttribute("list", list);返回到页面就行了

jquery.ajax请求action时 回调函数不执行
struts配置文件中继承的应该是json-default

struts1跳到指定的方法中?ajax路径怎样写的?
var submiturl = "hello.do?XX=方法名";XMLHttpReq.open("post",submiturl,true);

...个int类型的参数给后台tomcat服务器,后台用Struts2编写,请问发送参...
<action name="ajax" class="com.test.Ajax"> <result name="success">\/success.jsp<\/result><\/action>后台代码(Ajax类)package com.test;import com.opensymphony.xwork2.ActionSupport;public class Ajax extends ActionSupport{private Integer param1;private Integer param2;public void setParam...

怎么在Action里返回到JPS页面的function()方法里
不能,你可以用AJAX,返回一个回调函数,这个回调函数你就可以写成验证函数了

相似回答