jquery ajax请求无效!

山城忙碌人 2014-02-10 03:06:29
问题描述:
1:由于用户不想在浏览器中输入IP+端口号+应用名字 如:(http://127.0.0.1:8080/test),用户的想使用域名直接访问项目,如:(http://www.baidu.com),所以我使用nginx进行转换!
2:ng配置如下:
server {
listen 80;
server_name 127.0.0.1,www.baidu.com;
location / {
proxy_pass http://127.0.0.1:8080/test/;
proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header Host $host;
}

}
3:现在通过域名能直接访问项目,但登陆的时候,使用了jquery的ajax,使用nginx跳转后,jquery的ajax无法正常访问到后台程序,请问这是什么原因?
$("#btnLogin").click(function(){ 
$.ajax({
url : "/test/user.do?method=userLogin",
type : "post",
dataType: "text",
data : {
u_loginid : $("#u_loginid").val(),
u_password : $("#u_password").val(),
code : $("#code").val()
},success : function(data) {
var result = jQuery.parseJSON(data);
if (result.success == true) {
document.location.href = "/test/demo/main.jsp";
} else { $("#imgRead").attr("src","/yx/VerificationCode?time=" + new Date().getTime());

}
}
});
});



4:除了使用nginx,来实现直接访问域名,跳转到实际项目外,还有其它什么办法来实现跳转的需求?如:(访问http://www.baidu.com,直接跳转到http://127.0.0.1:8080/text)
...全文
678 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
山城忙碌人 2014-02-12
  • 打赏
  • 举报
回复
引用 7 楼 wzs_xyz 的回复:
http://www.10086x23.com两个的差别就在端口上而已http://www.10086x23.com:8080/test, 把网站服务的端口设置为80就可以不输入端口号,然后设置默认页面为http://www.10086x23.com/test即可达到你的目的
谢谢,我试一下!
Go 旅城通票 2014-02-11
  • 打赏
  • 举报
回复
跨域了,进行跳转只能跳转到站内的地址,站外的不行 你改成jsonp的操作方式,不要直接用ajax,什么是jsonp楼主自己找资料看,很简单,jquery也提供了jsonp操作
山城忙碌人 2014-02-11
  • 打赏
  • 举报
回复
引用 4 楼 liuxingfffff 的回复:
Origin null is not allowed by Access-Control-Allow-Origin
啥意思!!!
未知数 2014-02-11
  • 打赏
  • 举报
回复
引用 3 楼 bisubisu 的回复:
[quote=引用 2 楼 wzs_xyz 的回复:] 这个事情不是这么干的... 域名解析是由域名解析器(dns)完成,和你服务器的配置没关系,你这样配只是对服务器生效,估计与配置hosts文件一个原理,是不可能对远程用户电脑生效的;你也不可能使www.baidu.com跳到你的服务器上,不然百度早没了 这个事情要预备一台服务器(有外网ip,若没有可尝试进行端口映射或者设置DMZ主机),申请一个域名,然后域名绑定ip(外网ip),就可以了
你好,其实我要做的实情很简单! 目前用户访问我的平台是通过:http://www.10086x23.com:8080/test在访问,用户要求实现平台是通过:http://www.10086x23.com直接跳转到http://www.10086x23.com:8080/test上面,请问这如何实现,我用的是nginx,目前跳转这一步实现了,但nginx和ajax有冲突,无法正常使用ajax的异步调用数据的功能! [/quote] http://www.10086x23.com两个的差别就在端口上而已http://www.10086x23.com:8080/test, 把网站服务的端口设置为80就可以不输入端口号,然后设置默认页面为http://www.10086x23.com/test即可达到你的目的
liuxingfffff 2014-02-10
  • 打赏
  • 举报
回复
Origin null is not allowed by Access-Control-Allow-Origin
山城忙碌人 2014-02-10
  • 打赏
  • 举报
回复
引用 2 楼 wzs_xyz 的回复:
这个事情不是这么干的... 域名解析是由域名解析器(dns)完成,和你服务器的配置没关系,你这样配只是对服务器生效,估计与配置hosts文件一个原理,是不可能对远程用户电脑生效的;你也不可能使www.baidu.com跳到你的服务器上,不然百度早没了 这个事情要预备一台服务器(有外网ip,若没有可尝试进行端口映射或者设置DMZ主机),申请一个域名,然后域名绑定ip(外网ip),就可以了
你好,其实我要做的实情很简单! 目前用户访问我的平台是通过:http://www.10086x23.com:8080/test在访问,用户要求实现平台是通过:http://www.10086x23.com直接跳转到http://www.10086x23.com:8080/test上面,请问这如何实现,我用的是nginx,目前跳转这一步实现了,但nginx和ajax有冲突,无法正常使用ajax的异步调用数据的功能!
未知数 2014-02-10
  • 打赏
  • 举报
回复
这个事情不是这么干的... 域名解析是由域名解析器(dns)完成,和你服务器的配置没关系,你这样配只是对服务器生效,估计与配置hosts文件一个原理,是不可能对远程用户电脑生效的;你也不可能使www.baidu.com跳到你的服务器上,不然百度早没了 这个事情要预备一台服务器(有外网ip,若没有可尝试进行端口映射或者设置DMZ主机),申请一个域名,然后域名绑定ip(外网ip),就可以了
山城忙碌人 2014-02-10
  • 打赏
  • 举报
回复
补充: 使用nginx后,点击验证码图片,切换验证码是可以实现的,就是jquery的ajax暂时没有实现! $("#imgRead").attr("src","/yx/VerificationCode?time=" + new Date().getTime());

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧