誰もこの光を放つことはできますか?jQuery経由でAJAX呼び出しをしようとすると、データがnullになります
私は以下のコードをAJAXとJSONによるフォーム提出ですが、スクリプトを見るとChromeにはuncaught type error cannot read property 'error' of null
というメッセージが表示されます。
私はJSONを初めて使ったので、間違っていると宣言したことがありますか?あなたのmailer.phpスクリプトで
$(document).ready(function(){
$('form #form_ajax').hide();
$('#submit').click(function(e){
e.preventDefault();
var valid = '';
var required = ' is required';
var name = $('form #name').val();
var email = $('form #email').val();
var message = $('form #message').val();
if (name == '' || name.length <= 2) {
valid = '<p>Your name' + required + '</p>';
}
if (!email.match(/^[-a-z0-9~!$%^&*_=+}{\'?]+(\.[-a-z0-9~!$%^&*_=+}{\'?]+)*@([a-z0-9_][-a-z0-9_]*(\.[-a-z0-9_]+)*\.(aero|arpa|biz|com|coop|edu|gov|info|int|mil|museum|name|net|org|pro|travel|mobi|[a-z][a-z])|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,5})?$/i)) {
valid += '<p>Your email' + required + '</p>';
}
if (message == '' || message.length <= 5) {
valid += '<p>A message' + required + '</p>';
}
if (valid != '') {
$('form #form_ajax').removeClass().addClass('error').html('<p>Please correct the errors below.</p>' + valid).fadeIn('fast');
} else {
$('form #form_ajax').removeClass().addClass('processing').html('Processing…').fadeIn('fast');
var formData = $('form').serialize();
submitForm(formData);
}
});
});
function submitForm(formData) {
$.ajax({
type: 'POST',
url: 'mailer.php',
data: formData,
dataType: 'json',
cache: false,
timeout: 7000,
success: function(data) {
$("form #form_ajax").removeClass().addClass((data.error === true) ? "error" : "success")
/////HERE'S WHERE I GET THE UNCAUGHT EXCEPTION ERROR////
.html(data.msg).fadeIn('fast');
if ($('form #form_ajax').hasClass('success')) { setTimeout($('form #form_ajax').fadeOut('fast'), 5000);
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
$('form #form_ajax').removeClass().addClass('error')
.html('<p>There was an ' + errorThrown + 'error due to a ' + textStatus + ' condition.</p>').fadeIn('fast');
},
complete: function(XMLHttpRequest, status) {
$('form')[0].reset();
}
});
};
ここにいくつかのコードがありますか? –
私は@DaveNewtonと同じくらい迷っています。あなたは実際にajaxリクエストをどこで作成しますか? – rhololkeolke
実際にサービスから返されるデータは何ですか? – David