我在用 $.ajax() 提交struts2请求时遇到了问题:
1) var url = "ips/registerSubject.do" 当提交的url为这个的时候,由于struts2配置的namespace
提交的URL变成了 http://127.0.0.1:8080/p2p/admin/ips/registerSubject.do
而正确的 url:http://127.0.0.1:8080/p2p/ips/registerSubject.do
当前页面的是由namespace为admin的一个action返回的页面,我现在要发送的是namespace为ips的action
2)然后 我重新定义url,
var url = "<%= basePath%>ips/registerSubject.do";
这次url对了:http://127.0.0.1:8080/p2p/ips/registerSubject.do
但是ajax的请求发不出去
怎么处理呢?
直接使用绝对路径就不会错了!
<%= basePath%>+namespace+actionName 应该错不了 ######你这是蛋疼的问题,自己的设计问题######不是设计的问题 据我观察 问题可能是这样子的 发送的ajax请求是异步的 ,在发送这个请求之后,我要把页面当前页面跳转到另外一个页面,使用了 window.location.href 进行跳转 ,所以浏览器把之前那个ajax请求的对象释放了,所以ajax请求不发送,js继续往下走,跳转了页面######没看明白,呵呵!######把代码贴出来,没明白你的逻辑 ###### $.ajax({
type:"post",
url:postUrl,
data:param,
dataType:"json",
success:function(data){
if(data.err == 1){
alert(data.msg);
}
}
});
window.location.href="borrowf.do";######ajax 请求成功后,再跳转页面啊###### 就是相对路径问题嘛,
var url = "ips/registerSubject.do"
改成
var url = "../ips/registerSubject.do"
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。