【问题标题】:AJAX POST to RESTful serviceAJAX POST 到 RESTful 服务
【发布时间】:2016-06-17 09:17:15
【问题描述】:

我有一个登录表单,我希望将输入值发布到 RESTful Web 服务,然后凭据正确我显示元素并隐藏表单,但如果它们不正确,则会出现错误消息。

我想通过 AJAX 执行此操作,但我遇到了一个绊脚石,因为我返回的只是一个内部未定义的警报框。任何帮助将不胜感激。

<div class="cp_LoginPanel fade-in form">
            <div class="in">
              <h1>Login</h1>
              <form name="login-form" id="login-form" method="post">
                <label id="error">Sorry it seems your credentials are incorrect</label>
                <div class="inputBlock">
                  <label for="username">Username</label>
                  <input type="text" id="username" />
                </div>
                <div class="inputBlock">
                  <label for="password">Password</label>
                  <input type="password" id="password" />
                </div>
                <input type="submit" value="Login" id="submit" />
              </form>
            </div>
          </div>

$(document).ready(function () {
            var username = $("#username").val();
            var password = $("#password").val();
            $("#submit").click(function () {
                $.ajax({
                    type: 'POST',
                    url: "Service Here",
                    dataType: JSON,
                    data: {
                        "username": username,
                        "password": password
                    },
                    success: function (data) {
                        alert("success");
                    },
                    error: function (e) {
                        alert(e.Message)
                    }
                });
            });
        });

【问题讨论】:

  • 您的问题是什么?请在您的问题中添加有关您看到的错误或此请求到底出了什么问题的详细信息。
  • 我正在寻找“错误”或“成功”消息,但现在我得到的只是未定义的。
  • 是否有警报显示或返回到未定义的位置?请编辑您的问题,详细说明您所面临的问题。
  • 我已经编辑了问题,目前我收到一个包含未定义的警报。
  • alert(e.Message) 更改为 console.log(e)(确保在运行控制台时正在观看它)。您似乎遇到了错误,但您没有正确访问该消息。

标签: ajax rest


【解决方案1】:

这并不是您问题的答案。但我猜你得到了错误,因此尝试使用正确的错误参数来获取有关你的错误的更多信息。

如果请求失败,则调用错误函数。该函数接收 3 个参数。

  • jqXHR 对象
  • 描述发生的错误类型的字符串
  • 可选的异常对象(如果发生)

尝试使用下面的代码以正确的方式打印出您的错误。看下面的例子:

error: function(jqXHR, textStatus, errorThrown) {
   console.log('What is my error ' + textStatus);
   console.log('Is an exception thrown ?? ' + errorThrown)
}

希望您能获得有关您的错误的更多信息 :)

PS。 你也可以看看这个问题的答案。它与您的问题完全相同:) jQuery Ajax - how to get response data in error

【讨论】:

  • 完美!我现在收到的错误是“请求的资源上没有'Access-Control-Allow-Origin'标头。因此不允许访问Origin'null'。”
  • 很高兴能帮到你。如果它解决了您的问题,请随意标记答案:)
猜你喜欢
  • 2016-02-18
  • 2015-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多