社内のシステムを回収しているのですが、Ajaxがうまく動きません。
簡易登録の画面からメールアドレスなどを入力してボタンを押すと、メールが飛ぶのですが、現状メールが飛びません。
ajaxのsuccessの処理に入らないことが原因だと思いますが、なぜ入らないかはわかりません。
コードを記載いたしますので、よろしくお願いいたします。
<script type="text/javascript">
$(function(){
$('#member_validation').on('submit', function(){
var $self = $(this);
// 送信中の時は処理しない
if ($self.data('locked')) {
return false;
}
// コントロールを無効にする
$self.data('locked', true);
$('input, button', $self).attr('disabled', true);
// 送信データ作成
var data = {};
data.mailaddress = $('#member_validation input[name=mailaddress]').val();
data.password = $('#member_validation input[name=password]').val();
data.confirm = $('#member_validation input[name=confirm]').val();
$('[class^=error-]', $self).html('');
$.post('_ajax/member_validation_form/validate/', data, function(r){
// ロック解除
$self.data('locked', false);
$('input, button', $self).prop('disabled', false);
// JSON形式のテキストを作成
var str = JSON.stringify(data);
// 引数をオブジェクトとして生成
var response = JSON.parse(str,r);
console.log(response);
// 返答を確認
if (response.success) {
$('#member_validation').slideUp();
$('#member_validation').next().slideDown();
} else {
for (var i in response.message) {
var $p = $('<p></p>');
$p.text(response.message[i]);
$('.error-'+i, $self).append($p);
}
}
});
return false;
});
});
</script>