0
私はAjaxを使用して連絡先フォームからEメールを送信しようとしています。parsererror SyntaxError:JSONの予期しない番号
メールが送信されると、確認メッセージ: 「お問い合わせありがとうございます」が返されます。ここで
{"type":"success","message":"thank you for contacting us"} parsererror SyntaxError: Unexpected number in JSON at position 8
at JSON.parse (<anonymous>)
at parseJSON (jquery.js:4)
at On (jquery.js:6)
at k (jquery.js:6)
at XMLHttpRequest.r (jquery.js:6)`
は私のPHPファイルは、メールを送信している:代わりにこのメッセージを私はエラーを持っているの表示
ここ
<?php
require_once 'phpmailer/PHPMailerAutoload.php';
$okMessage = 'thank you for contacting us';
$name = @trim(stripslashes($_POST['name']));
$email = @trim(stripslashes($_POST['email']));
$subject = @trim(stripslashes($_POST['subject']));
$message = @trim(stripslashes($_POST['message']));
$societe = @trim(stripslashes($_POST['societe']));
$num = @trim(stripslashes($_POST['num']));
$body = 'Name: ' . $name . "\n\n" . 'Entreprise: ' . $societe . "\n\n" . 'contact Tel: ' . $num . "\n\n" . 'Email: ' . $email . "\n\n" . 'Subject: ' . $subject . "\n\n" . 'Message: ' . $message;
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = 'xxxxx';
$mail->Port = xx; //
$mail->CharSet = 'UTF-8';
$mail->SMTPAuth = true;
$mail->SMTPDebug = 2;
$mail->Username = "xxxx";
$mail->Password = "xxxx";
$mail->setFrom('xxxx','xxxx');
$mail->addAddress('xxxx');
$mail->Subject = $subject;
$mail->Body = $body;
$mail->send();
header('Content-type: application/json');
$status = array(
'type' => 'success',
'message' => $okMessage
);
echo json_encode($status);
die;
は私のJS関数です
var form = $('#main-contact-form');
form.submit(function(event){
event.preventDefault();
var form_status = $('<div class="form_status"></div>');
var req = $.ajax({
url: $(this).attr('action'),
type: "POST",
data: form.serialize(),
dataType : 'json',
beforeSend: function(){
form.prepend(form_status.html('<p><i class="fa fa-spinner fa-spin"></i> Email is sending...</p>').fadeIn());
}
});
req.done(function(data, textStatus, jqXHR){
console.log(data, textStatus, jqXHR);
console.warn(jqXHR.responseText);
form_status.html('<p class="text-success">' + data.message + '</p>').delay(3000).fadeOut();
});
req.fail(function(jqXHR, textStatus, errorThrown){
console.log(jqXHR.responseText, textStatus, errorThrown);
console.warn(jqXHR.responseText);
form_status.html('<p class="text-error">' + textStatus + '</p>').delay(3000).fadeOut();
});
});
ことができますあなたは私を助けてくれますか?
[ネットワーク]タブの生の応答を見て、応答のJSON部分に何かがあるかどうかを確認してください。 – Barmar
{"type": "success"、 "message": "お問い合わせありがとうございます"}これは私のネットワークタブにあるものです@Barmar –
@AthMav何がポート文字列ですか? –