不允许ajax请求 - POST请求

时间:2016-11-02 11:10:58

标签: java jquery ajax request response

我想将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.

有人知道我的代码有什么问题吗?

1 个答案:

答案 0 :(得分:0)

确定。 我的问题是我的服务器lib文件夹中没有一些jar文件。 这是丢失文件的名称: 1. twilio-java-sdk-3.3.12.jar。 2. jackson-all-1.9.0.jar。

将它们添加到构建路径,它工作正常!

感谢您的帮助。