我想将ajax请求发送到我的本地服务器,这是我的:
function getNewsFromDB() {
var httpUrl = "http://10.0.0.2:8080/Rosh/" + 'Get_News';
$.ajax({
type: 'POST',
url: httpUrl,
data: '{"MESSAGE_TYPE":"GET_NEWS","VERSION": "1","CITY":"ROSH_HAAIN"}',
dataType: 'json',
crossDomain: true,
success: function(data) {
window.alert("success");
},
error: function(xhr,textStatus,err) {
window.alert(JSON.stringify(xhr) + " ... " + textStatus + " ... " + err);
}
});
}
此外,我还有此服务器端代码来处理请求:
res.setContentType("application/json");
try
{
res.addHeader("Access-Control-Allow-Credentials", "true");
res.setHeader("Access-Control-Allow-Origin", "*");
res.setHeader("Access-Control-Allow-Methods", "*");
res.setHeader("Access-Control-Allow-Headers", "X-Requested-With,Host,User-Agent,Accept,Accept-Language,Accept-Encoding,Accept-Charset,Keep-Alive,Connection,Referer,Origin");
res.setHeader("Access-Control-Max-Age", "8080");
res.setCharacterEncoding("utf-8");
res.getWriter().write(response);
}
catch (IOException e)
{
// TODO Auto-generated catch block
}
当我运行我的代码时,我在浏览器上看到一个对话框,指出: “就绪状态:0,响应文本:”“,状态:0,statusText:”错误“;
我不知道这个对话的含义是什么,请求还没有到达我的服务器。
我也看到了这个错误:
XMLHttpRequest无法加载http://10.0.0.2:8080/Rosh/Get_News。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许原点“http://localhost:8000”访问。响应的HTTP状态代码为404.
有人知道我的代码有什么问题吗?
答案 0 :(得分:0)
确定。 我的问题是我的服务器lib文件夹中没有一些jar文件。 这是丢失文件的名称: 1. twilio-java-sdk-3.3.12.jar。 2. jackson-all-1.9.0.jar。
将它们添加到构建路径,它工作正常!
感谢您的帮助。