【问题标题】:Ajax call returns 200 but considered as error [duplicate]Ajax 调用返回 200 但被视为错误 [重复]
【发布时间】:2019-06-10 15:15:22
【问题描述】:

我正在尝试对 ajax 中的 servlet 进行简单调用:

$.ajax({
    type: 'GET',
    url: 'http://myserver/c/myfunction',
    cache : false,
    data: {key: 'value'},
    success:function(){
        alert("success");
    },
    error:function(){
        alert("error");
    }
});

在 java 中使用我的 servlet 函数:

@RequestMapping(value = "/c/myfunction", method = {RequestMethod.GET})
public synchronized void myfunction(HttpServletRequest request, HttpServletResponse response)  {
    response.setStatus(HttpServletResponse.SC_OK);
}

我收到状态代码 200 OK,但我仍然看到“错误”警报。有什么建议吗?

【问题讨论】:

  • 您检查浏览器控制台了吗?此外,您没有发回任何东西,这可能是导致错误的原因。
  • 这似乎是因为我使用了两个不同的服务器:“已被 CORS 策略阻止”。我应该如何解决这个问题?
  • 在您的后端允许 Cors 标头。

标签: javascript java ajax servlets


【解决方案1】:

只需查看我的控制台即可找到我的问题的答案... 上面写着request has been blocked by CORS policy

所以我必须在我的 java 代码中添加 response.addHeader("Access-Control-Allow-Origin", "*"); 才能使其工作。

【讨论】:

    猜你喜欢
    • 2018-06-25
    • 2013-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-13
    • 2021-09-10
    • 2014-01-22
    • 1970-01-01
    相关资源
    最近更新 更多