jquery ajax与servlet
使用带有jquery ajax的servlet时遇到了问题。 当我将包含js代码的html文件与servlet放在同一个项目中时,它将起作用。 但是,当我在另一台机器上使用这个html并使用URL: http://192.168.1.5:8084/****/Servlet
: http://192.168.1.5:8084/****/Servlet
: http://192.168.1.5:8084/****/Servlet
for ajax时,我无法得到任何东西。
$.ajax({ url:'http://192.168.1.5:8084/****/Servlet', data: ajaxdata, type:'GET', dataType:'text/html', //contentType: "text/html", success:function(json) { } });
那么任何想法? 谢谢。
如果您可以控制servlet,请设置HTTP Access-Control
标头。 这样,您可以从服务器端控制是否允许触发XMLHttpRequest的客户端处理响应。 任何最近(和体面的)webbrowser将采取相应的行动。
这是一个例子:
response.setHeader("Access-Control-Allow-Origin", "*"); // Everone may process the response. response.setHeader("Access-Control-Allow-Methods", "GET"); // Commaseparated string of allowed request methods.
另一种选择是JSONP ,另见本文 。
!拼图
这在ajax中称为同源策略问题,如果两者都在同一服务器上,它将起作用。
看了这个链接,非常好看
如何规避同源政策
http://www.petefreitag.com/item/703.cfm
在堆栈中搜索流量,你会得到很多答案
您不能使用AJAX将请求发送到其他站点。
这是因为您正在制作跨域ajax。 浏览器倾向于禁止这样做,因为这是一个安全问题。
看到这里和这里 。
(显然,当他们在同一台服务器上时你不会有任何问题)