如何使用JQuery AJAX基于HTTP状态代码创建自定义消息?

时间:2017-11-30 19:51:28

标签: javascript jquery ajax

使用jQuery我想根据返回的数据HTTP状态代码创建自定义消息。我根据返回的状态代码创建了一个显示唯一消息的条件,但是我收到以下错误消息:

未捕获的ReferenceError:未定义数据:

我的jQuery脚本是:

    jQuery(document).ready(function($) {


      $('#submitButton').click( function(e) {
        e.preventDefault();
          $.ajax({

              url: 'myUrl',
              type: 'post',
              dataType: 'json',
              data: $('form#Form').serialize(),
              success: function(data) {

                          if (data.code == '201') {

                            alert('New Resource Created');

                          }

                          if (data.code == '1000') {

                            alert('Successful message');

                          }                      


              },
              error: function(xhr, status, error){

                          if (data.code == '400') {

                            alert('Bad Request!');

                          }


                          if (data.code == '2004') {

                            alert('System error message!');

                          }

              } 

              // Prevent default form action


          });
      });


    });

我收到的JSON代码使用以下格式:

{
 "status": "400",
 "code": "2003",
 "message": "Invalid address copy"
} 

以下是状态代码的示例:

201 – OK 
2004 - System error message!
400 - Invalid address copy

我的HTML表单在这里:

<form id="Form">
 <input type="text" id="name" name="name" placeholder="First Name">
 <input type="text" id="address1" placeholder="Address 1" name="address1">
 <button type="submit" id="submitButton">Submit</button>
</form>

不确定我在此错过了什么,或者为什么我收到错误但欢迎任何帮助。

1 个答案:

答案 0 :(得分:1)

正如我之前在评论中提到的那样,试试:

jQuery(document).ready(function($) {
  $('#submitButton').click( function(e) {
    e.preventDefault();
      $.ajax({

          url: 'myUrl',
          type: 'post',
          dataType: 'json',
          data: $('form#Form').serialize(),
          success: function(data) {

                      if (data.code == '201') {

                        alert('New Resource Created');

                      }

                      if (data.code == '1000') {

                        alert('Successful message');

                      }                      


          },
          error: function(xhr, status, error){

                      if (xhr.code == '400') {

                        alert('Bad Request!');

                      }


                      if (xhr.code == '2004') {

                        alert('System error message!');

                      }

          } 

          // Prevent default form action


      });
  });
});