jquery ajax与servlet

时间:2010-12-12 19:58:59

标签: jquery ajax servlets

使用带有jquery ajax的servlet时遇到了问题。当我将包含js代码的html文件与servlet放在同一个项目中时,它将起作用。但是,当我在另一台机器上使用此html并使用URL:http://192.168.1.5:8084/****/Servlet作为ajax时,我无法得到任何东西。

$.ajax({
   url:'http://192.168.1.5:8084/****/Servlet',
   data: ajaxdata,
   type:'GET',
   dataType:'text/html',
   //contentType: "text/html",
   success:function(json) { }
});

那么任何想法?感谢。

4 个答案:

答案 0 :(得分:3)

如果您可以控制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,另见this article

答案 1 :(得分:0)

!拼图

这在ajax中称为同源策略问题,如果两者都在同一台服务器上,它将起作用。

阅读此链接,非常好

Ways to circumvent the same-origin policy

http://www.petefreitag.com/item/703.cfm

在堆栈中搜索流程你会得到很多答案

答案 2 :(得分:0)

您无法使用AJAX向其他网站发送请求。

答案 3 :(得分:0)

这是因为您正在制作跨域ajax。浏览器倾向于禁止这样做,因为这是一个安全问题。

请参阅herehere

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