请教一个$.post方式url的问题

凌云紫冥 2013-07-16 03:55:54
本地客户端的一个html文件js文件

$.post({
url:"http://192.168.0.161:8080/PD_CRS/login.action",
data:{username:username, password:password},
callback:function(data) {
alert("ajax成功");
},
type:"json"
});

能通过这种方式直接向远程服务器发送请求么?

如果运行在服务器上的页面,直接通过login.action就能发送请求。
...全文
237 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Go 旅城通票 2013-07-16
  • 打赏
  • 举报
回复
用jsonp跨域通用,但是限制为get请求,所以提交大量数据就很难搞了

如果仅是本地测试,不发布,ie可以跨域【用acx来创建】,其他浏览器动态页可以设置access-Control-Allow-Origin为*允许跨域调用就没问题了

如果要发布,对ie8+需要使用XDomainRequest对象,而不是acx或者xmlhttpRequest,其他浏览器支持设置了access-Control-Allow-Origin的请求,ie7-跨域没搞

发布版本最兼容的方式就是自己搭建服务器做代理
凌云紫冥 2013-07-16
  • 打赏
  • 举报
回复
我试试用jsonp
未知数 2013-07-16
  • 打赏
  • 举报
回复
引用 9 楼 beyondziming 的回复:
[quote=引用 7 楼 wzs_xyz 的回复:] [quote=引用 4 楼 beyondziming 的回复:] [quote=引用 2 楼 wzs_xyz 的回复:] ajax无法跨域 服务器会收到请求,但客户端不会执行callback函数
服务器没有收到请求。[/quote] 服务器收不到请求说明该url指向有问题,你这是内网地址,不在同一个路由器下的电脑应该都是无法正确解析这个地址的 你直接在浏览器中输入该地址看能不能打开就知道了[/quote] 浏览器可以打开[/quote] 那你用$.ajax函数发请求,服务端肯定可以收到请求,但不会执行回调函数,解决办法如上所说
凌云紫冥 2013-07-16
  • 打赏
  • 举报
回复
引用 7 楼 wzs_xyz 的回复:
[quote=引用 4 楼 beyondziming 的回复:] [quote=引用 2 楼 wzs_xyz 的回复:] ajax无法跨域 服务器会收到请求,但客户端不会执行callback函数
服务器没有收到请求。[/quote] 服务器收不到请求说明该url指向有问题,你这是内网地址,不在同一个路由器下的电脑应该都是无法正确解析这个地址的 你直接在浏览器中输入该地址看能不能打开就知道了[/quote] 浏览器可以打开
潮起潮落 2013-07-16
  • 打赏
  • 举报
回复
引用 3 楼 beyondziming 的回复:
[quote=引用 1 楼 KongHuLu 的回复:] 你说在本地直接打开文件是吗? 因为跨域问题,这样直接请求是得不到数据的。
就是本地的html文件 用ajax方式发送请求给服务器 不是得不到数据 根本那url不行 像我这种就是本地客户端文件访问服务器 不算是跨域吧?[/quote] "XMLHttpRequest cannot load http://localhost:8080/SomeQuestion/301Test.aspx. Origin null is not allowed by Access-Control-Allow-Origin. " chrome下的console提示 你可以在服务器端写个日志,写下访问时间就能确定到底到达没到达服务器端了
未知数 2013-07-16
  • 打赏
  • 举报
回复
引用 4 楼 beyondziming 的回复:
[quote=引用 2 楼 wzs_xyz 的回复:] ajax无法跨域 服务器会收到请求,但客户端不会执行callback函数
服务器没有收到请求。[/quote] 服务器收不到请求说明该url指向有问题,你这是内网地址,不在同一个路由器下的电脑应该都是无法正确解析这个地址的 你直接在浏览器中输入该地址看能不能打开就知道了
潮起潮落 2013-07-16
  • 打赏
  • 举报
回复
LS+1,另外补充一句,JSONP只能GET请求,不支持POST请求。
未知数 2013-07-16
  • 打赏
  • 举报
回复
如果远程服务器受你控制,那么可以改造接口,做成一个支持jsonp的接口,就可以通过jquery的jsonp方式实现跨域ajax(注:只是模拟,原理非ajax,ajax是不能跨域的) 如果不受你控制,可以尝试从服务端发起http请求,获得响应后返回给客户端
凌云紫冥 2013-07-16
  • 打赏
  • 举报
回复
引用 2 楼 wzs_xyz 的回复:
ajax无法跨域 服务器会收到请求,但客户端不会执行callback函数
服务器没有收到请求。
凌云紫冥 2013-07-16
  • 打赏
  • 举报
回复
引用 1 楼 KongHuLu 的回复:
你说在本地直接打开文件是吗? 因为跨域问题,这样直接请求是得不到数据的。
就是本地的html文件 用ajax方式发送请求给服务器 不是得不到数据 根本那url不行 像我这种就是本地客户端文件访问服务器 不算是跨域吧?
未知数 2013-07-16
  • 打赏
  • 举报
回复
ajax无法跨域 服务器会收到请求,但客户端不会执行callback函数
潮起潮落 2013-07-16
  • 打赏
  • 举报
回复
你说在本地直接打开文件是吗? 因为跨域问题,这样直接请求是得不到数据的。

52,797

社区成员

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

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