React js AJAX发送有时候GET而不是POST并得到304奇怪的

时间:2018-01-19 13:19:13

标签: ajax reactjs rest web-services http-status-codes

我遇到了问题,我不知道为什么会出现问题。它出现的情况对我来说很奇怪......

我有一个POST REST服务/登录。它期望json {" email":email," password":password}。我正在使用ajax,一切正常......除了电子邮件(实际格式)包含' @'之前和之后的标志和一些字母(我知道它很奇怪,但只有在这种情况下出现这样的错误)。当我通过电子邮件,即#34; mum@mum.com"然后很少有事情发生:

  1. 我看到浏览器发送GET请求而不是POST并获得304 http状态
  2. 在浏览器控制台中,我看到信息"开发服务器已断开连接。必要时刷新页面"和页面自动刷新
  3. 上述事情只有在电子邮件采用上述格式时才会发生。当我通过" aaa"或" aaa @"因为电子邮件一切正常(浏览器发送POST请求,我不会在控制台中收到错误)。

    老实说,我不知道为什么会发生这种情况......非常感谢你的帮助,我将回答你所有有关此事的问题。

    PS。 当我在IntellJ中使用REST Web服务工具时,一切都运行良好。

        handleLogin() {
        const input = {
            email: this.state.email,
            password: this.state.password
        };
    
        $.ajax({
            url: CONST.USER_SERVICE + "/login",
            type: "POST",
            data: JSON.stringify(input),
            contentType: "jsonp"
        })
            .fail(function () {
                alert("Wrong data");
            })
            .always(function (arg1, arg2, arg3) {
                if (arg3.status === 200) {
                    alert("ok!");
                }
    
            }.bind(this));
    }
    

1 个答案:

答案 0 :(得分:0)

尝试在不data: input的情况下制作stringify之类的ajax请求。 Ajax期待一个对象。