jQuery的get方法,为什么1.3.1有反应,1.11.0就没有反应?

vector1986 2014-05-14 10:24:58
js代码如下:
$(function(){
$("#send").click(function(){
$.post("http://127.0.0.1:8084/Demo/NewServlet", function(){ alert(123); });
});
});

1、html代码中引用1.3.1版本的jQuery,点击按钮,出现提示框,提示“123”
2、html代码中引用1.11.0版本的jQuery,点击按钮,没有任何反应

求指点!
...全文
681 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
ThinkingFatCat 2014-05-17
  • 打赏
  • 举报
回复
跨域操作(如果是你的情况的话)需要在远程服务器端设置Response的Header 这里是一个例子,远程服务器上运行 php

switch ($_SERVER['HTTP_ORIGIN']) {
    case 'http://from.com': case 'https://from.com':
    header('Access-Control-Allow-Origin: '.$_SERVER['HTTP_ORIGIN']);
    header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
    header('Access-Control-Max-Age: 1000');
    header('Access-Control-Allow-Headers: Content-Type, Authorization, X-Requested-With');
    break;
}
本地JS端这样调用

$.ajax({
    type: 'POST',
    url: 'https://to.com/postHere.php',
    crossDomain: true,
    data: '{"some":"json"}',
    dataType: 'json',
    success: function(responseData, textStatus, jqXHR) {
        var value = responseData.someKey;
    },
    error: function (responseData, textStatus, errorThrown) {
        alert('POST failed.');
    }
});
原文请参见 http://stackoverflow.com/questions/298745/how-do-i-send-a-cross-domain-post-request-via-javascript
跳蚤图 2014-05-15
  • 打赏
  • 举报
回复
xuzuning 2014-05-15
  • 打赏
  • 举报
回复
去掉 http://127.0.0.1:8084 只保留 /Demo/NewServlet 你这段代码必须从 http://127.0.0.1:8084 的某个路径下运行,否则就是跨域了 就算写作 http://location:8084/Demo/NewServlet 也算是跨域 或许 jq1.4 即之前对本地主机做了些调整处理,但这绝不是实际应用时所需要的。 于是高版本的就删去了这些代码
码无边 2014-05-15
  • 打赏
  • 举报
回复
$(document).ready(function(){ $("#send").click(function(){ $.post("http://127.0.0.1:8084/Demo/NewServlet", function(){ alert(123); }); }); }); 这样,你试试
zhjdg 2014-05-15
  • 打赏
  • 举报
回复
报错了,就没反应。返回数据格式(json字符串)不标准。 旧用eval 新用JSON.prase
别闹腰不好 2014-05-15
  • 打赏
  • 举报
回复
post 和get 都是3个参数 ,第二个参数 传个null 试试。
vector1986 2014-05-15
  • 打赏
  • 举报
回复
引用 7 楼 ThinkingFatCat 的回复:
或者看你返回的是啥数据类型,试试显式指定下。参考

$.ajax({
  type: "POST",
  url: url,
  data: data,
  success: success,
  dataType: dataType
});
http://api.jquery.com/jquery.post/
改成 $.ajax({ type: "POST", url: "http://localhost:8084/Demo/NewServlet", data: {_username:"asd"}, success: function(){alert(123);}, dataType: "html" }); 仍然是1.3.1版本有提示,1.11.0版本没反应
vector1986 2014-05-15
  • 打赏
  • 举报
回复
引用 5 楼 KK3K2005 的回复:
$.post("/Demo/NewServlet", function(data){ alert(123); }); 去掉域名 使用相对位置
文件在tomcat服务器上,如果去掉域名的话,不就是访问本地了么?
未知数 2014-05-15
  • 打赏
  • 举报
回复
引用 8 楼 vector1986 的回复:
[quote=引用 5 楼 KK3K2005 的回复:] $.post("/Demo/NewServlet", function(data){ alert(123); }); 去掉域名 使用相对位置
文件在tomcat服务器上,如果去掉域名的话,不就是访问本地了么?[/quote] 不能用相对路径的话,说明跨域了,ajax一般不支持跨域,新规范中对ajax跨域的支持也是需要在头信息中设置信任的,不然是不会执行回调函数的, 可能在低版本jquery中,在跨域情况下自动转为了jsonp方式(注,jsonp原理与ajax无关),所以可以执行回调函数
ThinkingFatCat 2014-05-15
  • 打赏
  • 举报
回复
或者看你返回的是啥数据类型,试试显式指定下。参考

$.ajax({
  type: "POST",
  url: url,
  data: data,
  success: success,
  dataType: dataType
});
http://api.jquery.com/jquery.post/
ThinkingFatCat 2014-05-15
  • 打赏
  • 举报
回复
  调用前加上这句试试看呗。

jQuery.ajaxSetup({ jsonp: null, jsonpCallback: null});
KK3K2005 2014-05-15
  • 打赏
  • 举报
回复
引用 8 楼 vector1986 的回复:
[quote=引用 5 楼 KK3K2005 的回复:] $.post("/Demo/NewServlet", function(data){ alert(123); }); 去掉域名 使用相对位置
文件在tomcat服务器上,如果去掉域名的话,不就是访问本地了么?[/quote] post方式 访问方 和目标 必须是一个来源
KK3K2005 2014-05-15
  • 打赏
  • 举报
回复
$.post("/Demo/NewServlet", function(data){ alert(123); }); 去掉域名 使用相对位置
vector1986 2014-05-14
  • 打赏
  • 举报
回复
引用 3 楼 zyl_lyr1019 的回复:
看起来也没有什么问题的,在function中,添加一个参数试试。
$.post("http://127.0.0.1:8084/Demo/NewServlet", function(data){ alert(123); });
这样。 猜的。
没有作用呀,进一步测试发现,1.4版本也有响应,但是1.5版本之后(包括1.5)的就没有反应了。 是1.5版本的原因?
张运领 2014-05-14
  • 打赏
  • 举报
回复
看起来也没有什么问题的,在function中,添加一个参数试试。
$.post("http://127.0.0.1:8084/Demo/NewServlet", function(data){ alert(123); });
这样。 猜的。
vector1986 2014-05-14
  • 打赏
  • 举报
回复
引用 1 楼 ThinkingFatCat 的回复:
get 还是 post 阿?
是get,后来我用post试了一下,也是同样的情况。
ThinkingFatCat 2014-05-14
  • 打赏
  • 举报
回复
get 还是 post 阿?

87,904

社区成员

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

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