jQuery的get方法,为什么1.3.1有反应,1.11.0就没有反应? 是get,后来我用post试了一下,也是同样的情况。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看起来也没有什么问题的,在function中,添加一个参数试试。$.post("http://127.0.0.1:8084/Demo/NewServlet", function(data){ alert(123); });这样。猜的。 $.post("/Demo/NewServlet", function(data){ alert(123); });去掉域名 使用相对位置 调用前加上这句试试看呗。jQuery.ajaxSetup({ jsonp: null, jsonpCallback: null}); 或者看你返回的是啥数据类型,试试显式指定下。参考$.ajax({ type: "POST", url: url, data: data, success: success, dataType: dataType});http://api.jquery.com/jquery.post/ 文件在tomcat服务器上,如果去掉域名的话,不就是访问本地了么? 改成$.ajax({ type: "POST", url: "http://localhost:8084/Demo/NewServlet", data: {_username:"asd"}, success: function(){alert(123);}, dataType: "html"});仍然是1.3.1版本有提示,1.11.0版本没反应 post 和get 都是3个参数 ,第二个参数 传个null 试试。 报错了,就没反应。返回数据格式(json字符串)不标准。旧用eval新用JSON.prase $(document).ready(function(){ $("#send").click(function(){ $.post("http://127.0.0.1:8084/Demo/NewServlet", function(){ alert(123); }); });});这样,你试试 去掉 http://127.0.0.1:8084只保留 /Demo/NewServlet你这段代码必须从 http://127.0.0.1:8084 的某个路径下运行,否则就是跨域了就算写作 http://location:8084/Demo/NewServlet 也算是跨域或许 jq1.4 即之前对本地主机做了些调整处理,但这绝不是实际应用时所需要的。于是高版本的就删去了这些代码 文件在tomcat服务器上,如果去掉域名的话,不就是访问本地了么?post方式 访问方 和目标 必须是一个来源 文件在tomcat服务器上,如果去掉域名的话,不就是访问本地了么?不能用相对路径的话,说明跨域了,ajax一般不支持跨域,新规范中对ajax跨域的支持也是需要在头信息中设置信任的,不然是不会执行回调函数的,可能在低版本jquery中,在跨域情况下自动转为了jsonp方式(注,jsonp原理与ajax无关),所以可以执行回调函数 跨域操作(如果是你的情况的话)需要在远程服务器端设置Response的Header这里是一个例子,远程服务器上运行 phpswitch ($_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 图片间隔时间更换问题 jquery-1.6.4.min.js和jquery.min.js有什么区别 怎样实现图片自动浏览效果 显示层坐标问题,高手帮忙~~~~ 文本框还剩多少字?? JS可不可以根据浏览器判断链接 灰豆宝宝.net 请进!!!!! 小弟因为最近问的问题比较多,分都没了就剩十分了,希望大家都来帮帮我! 如何用JAVASCRIPT让PC喇叭发声? 如何将导出到word和excel的部分内容隐藏? 求JS控制文本的解决方案,最好是正则,谢谢! 请教单页web应用被加载页js对象释放策略
这样。猜的。
jQuery.ajaxSetup({ jsonp: null, jsonpCallback: null});
$.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版本没反应
新用JSON.prase
$("#send").click(function(){
$.post("http://127.0.0.1:8084/Demo/NewServlet", function(){ alert(123); });
});
});这样,你试试
只保留 /Demo/NewServlet你这段代码必须从 http://127.0.0.1:8084 的某个路径下运行,否则就是跨域了
就算写作 http://location:8084/Demo/NewServlet 也算是跨域或许 jq1.4 即之前对本地主机做了些调整处理,但这绝不是实际应用时所需要的。
于是高版本的就删去了这些代码
不能用相对路径的话,说明跨域了,ajax一般不支持跨域,新规范中对ajax跨域的支持也是需要在头信息中设置信任的,不然是不会执行回调函数的,
可能在低版本jquery中,在跨域情况下自动转为了jsonp方式(注,jsonp原理与ajax无关),所以可以执行回调函数
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