使用带有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) { }
});
那么任何想法?感谢。
答案 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)