2014-09-16 2 views
0

У меня есть простая форма jquery, которая получает вход от пользователя и отправляет данные на другую страницу и выводит сообщение об успешном завершении. Но моя проблема заключается в том, что данные не отправляются на другую страницу, вместо этого появляется сообщение об ошибке.Публикация данных из формы JQuery

Вот мой Jquery:

$(document).ready(function() { 
    $("#register").click(function() { 
    var name = $("#name").val(); 
    var email = $("#email").val(); 
    var password = $("#password").val(); 
    var cpassword = $("#cpassword").val(); 
    if (name == '' || email == '' || password == '' || cpassword == '') { 
     alert("Please fill all fields...!!!!!!"); 
    } else if ((password.length) < 8) { 
     alert("Password should atleast 8 character in length...!!!!!!"); 
    } else if (!(password).match(cpassword)) { 
     alert("Your passwords don't match. Try again?"); 
    } else { 

      $.ajax({ 

      type:"POST", 
      url: "SignUp.aspx/register", //trying to post to this url 
      data: { firstName: name }, 

      success: function (msg) { 
       alert("Success");  // Success message which should pop up if successful 
      }, 
      error: alert("Failed")  //error message which should pop up if there is an error 
     }); 
    } 
}); 
}); 

Вот код в signup.aspx страницы (код за класс):

  public string register(String firstName) 
     { 
      return "Success";    
     } 

URL, я Предоставленный правильно не существует никаких проблем с что. В чем может быть проблема?

Также есть ли другие способы отправки данных на другую страницу?

Спасибо за ваше время

+0

Консоль разработчика, вероятно, покажет вам, какая ошибка на стороне сервера была поднята. Вероятно, это будет хорошая подсказка. –

+0

@KirkWoll Не отображаются ошибки –

+2

Синтаксис неправильный для обработчика ошибок, необходимо обернуть оповещение в функции, и вам также необходимо предотвратить отправку формы по умолчанию. Если это не исправить, нужно проверить фактический запрос на вкладке netowrk консоли – charlietfl

ответ

1

Это

 success: function (msg) { 
      alert("Success");  // Success message which should pop up if successful 
     }, 
     error: alert("Failed")  //error message which should pop up if there is an error 
    }); 

Должно быть:

 success: function (msg) { 
      alert("Success");  // Success message which should pop up if successful 
     }, 
     error: function(){alert("Failed")}  //error message which should pop up if there is an error 
    }); 

Вы можете иметь дополнительные ошибки, хотя.

0

Попробуйте установить опцию CONTENTTYPE вашего запроса Ajax,

contentType:'application/x-www-urlencoded; UTF-8', 

Я надеюсь, что решает вашу проблему.

+0

, что по умолчанию в $ .ajax api ... установка по умолчанию не будет делать ничего – charlietfl

1

Ваш аякс-вызов неправильно отформатирован. Должно быть:

$.ajax({ 
     type:"POST", 
     url: "SignUp.aspx/register", //trying to post to this url 
     data: { firstName: name }) 
     .done(function(data) 
     { 
      alert(JSON.stringify(data)); 
     }) 
     .success(function (msg) { 
      alert("Success");  // Success message which should pop up if successful 
     }) 
     .fail(function(err){ 
      alert("Failed");  //error message which should pop up if there is an error 
     });