jquery ajax与servlet

使用带有jquery ajax的servlet时遇到了问题。 当我将包含js代码的html文件与servlet放在同一个项目中时,它将起作用。 但是,当我在另一台机器上使用这个html并使用URL: http://192.168.1.5:8084/****/Servlethttp://192.168.1.5:8084/****/Servlethttp://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。 浏览器倾向于禁止这样做,因为这是一个安全问题。

看到这里和这里 。

(显然,当他们在同一台服务器上时你不会有任何问题)