forum

Home / DeveloperSection / Forums / JSON.stringify is sending empty string

JSON.stringify is sending empty string

Anonymous User 2398 26-Nov-2014

I am using jQuery 1.7.2 and jQuery Validation 1.8.1 with asp.net. In jQuery Validation there is one option called remote it need ajax call to web service. My thing is I am checking id is already use or not. I am using JSON.stringify to post the value to the web service but it will send empty string but if I send without JSON.stringify, I can see the value. 

My code is as below. So how can we solve this 

$(document).ready(function () {
    var validator = $("#form1").validate({
      rules: {
        ctl00$ContentPlaceHolder$txCivilID: {
          required: true,
          rangelength: [12,12],
          digits: true,
          remote: {
            url: "CivilID.aspx/IsAlreadyAvailable",
            type: "post",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            data: JSON.stringify({ civilID: $('#<%=txCivilID.ClientID%>').val() }),
            dataFilter: function (data) {
              var msg = JSON.parse(data);
              if (msg.hasOwnProperty('d'))
                return msg.d;
              else
                return msg;
            }
          }
        },
        ctl00$ContentPlaceHolder$txFirstName: {
          required: true
        },
        ctl00$ContentPlaceHolder$txLastName: {
          required: true
        },
        ctl00$ContentPlaceHolder$txMobile: {
          required: true,
          rangelength: [8,8],
          digits: true
        },
        ctl00$ContentPlaceHolder$dpUserType: {
          required: true
        }
      },
      messages: {
        ctl00$ContentPlaceHolder$txCivilID: {
          required: "Civil for is required!",
          rangelength: "Civil for should be {0} in length!",
          digits: "Civil for should be only numbers!",
          remote: "Civil ID already exists !!!"
        },
        ctl00$ContentPlaceHolder$txFirstName: "First Name is required!",
        ctl00$ContentPlaceHolder$txLastName: "Last Name is required!",
        ctl00$ContentPlaceHolder$txMobile: {
          required: "Mobile number is required!",
          rangelength: "Mobile number should be {0} in length!",
          digits: "Mobile number should be only numbers!"
        },
        ctl00$ContentPlaceHolder$dpUserType: "Select User Type !"
      },
      errorPlacement: function (error, element) {
        $('label[for="' + element.attr("id") + '"]').text(error.text());
      }
    });
  });  

Render Version of Javascript 

<script type="text/javascript">
$(document).ready(function () {
    var validator = $("#form1").validate({
      rules: {
        ctl00$ContentPlaceHolder$txCivilID: {
          required: true,
          rangelength: [12,12],
          digits: true,
          remote: {
            url: "CivilID.aspx/IsAlreadyAvailable",
            type: "post",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            data: '{ civilID:' + JSON.stringify($('#ContentPlaceHolder_txCivilID').val()) + '}',
            dataFilter: function (data) {
              var msg = JSON.parse(data);
              if (msg.hasOwnProperty('d'))
                return msg.d;
              else
                return msg;
            }
          }
        },
        ctl00$ContentPlaceHolder$txFirstName: {
          required: true
        },
        ctl00$ContentPlaceHolder$txLastName: {
          required: true
        },
        ctl00$ContentPlaceHolder$txMobile: {
          required: true,
          rangelength: [8,8],
          digits: true
        },
        ctl00$ContentPlaceHolder$dpUserType: {
          required: true
        }
      },
      messages: {
        ctl00$ContentPlaceHolder$txCivilID: {
          required: "Civil for is required!",
          rangelength: "Civil for should be {0} in length!",
          digits: "Civil for should be only numbers!",
          remote: "Civil ID already exists !!!"
        },
        ctl00$ContentPlaceHolder$txFirstName: "First Name is required!",
        ctl00$ContentPlaceHolder$txLastName: "Last Name is required!",
        ctl00$ContentPlaceHolder$txMobile: {
          required: "Mobile number is required!",
          rangelength: "Mobile number should be {0} in length!",
          digits: "Mobile number should be only numbers!"
        },
        ctl00$ContentPlaceHolder$dpUserType: "Select User Type !"
      },
      errorPlacement: function (error, element) {
        $('label[for="' + element.attr("id") + '"]').text(error.text());
      }
    });
  });


Updated on 27-Nov-2014
I am a content writter !

Can you answer this question?


Answer

1 Answers

Liked By