Я пытаюсь опубликовать некоторые очень простые данные в php-файл, используя jquery, а затем получить ответ json, но мне кажется, что я где-то сталкиваюсь с препятствием.Вот мой jquery:
<script>
$(function() {
$('.resend-verify').click( function() {
var userid = $(this).attr('rel');
$.ajax({
type: "POST",
url: "resend_verification.php",
contentType: "application/json; charset=utf-8",
data: "userid=" + userid,
dataType: "json",
success: function(data) {
console.log(data.response);
if(data.response == 'error') {
$('div.alert').addClass('error');
}
$('div.alert').html(data.comment);
}
});
});
});
</script>
, а вот страница php, которую он публикует на
<?php
if ($_SERVER['REQUEST_METHOD'] == "POST") { // Check For Post
require '../../config.php'; // Site Settings
require '../../connectors/mysqlConnector.php';
include $DIR['php'] . 'functions.php'; // Common Functions
//var_dump(json_decode($_POST));
$UserID = $_POST['userid'];
$userSQL = "SELECT p.user_firstname,p.user_lastname,a.user_email,a.user_salt FROM web_profiles p INNER JOIN web_accounts a ON p.user_id = a.user_id WHERE p.user_id ='" . $UserID . "'";
$userQuery = mysql_query($userSQL);
//var_dump($userSQL);
$user = mysql_fetch_object($userQuery);
if (!$user->user_email) {
$response = array('response' => 'error', 'comment' => 'User not found');
} else {
// Send User Verification Email
$sendmail = new sendMail();
$message = createUserAuthEmail($user->user_firstname, $user->user_lastname, $user->user_salt, $Site['register_email_body']);
$content['body'] = '<br /><br />' . $message . '<br /><br />DO NOT REPLY TO THIS EMAIL! IT IS ONLY AN AUTOMATED NOTIFICATION EMAIL!';
$sendmail->set(to, $user->user_email);
$sendmail->set(subject, 'Action Required to Activate Membership');
$sendmail->set(from, 'no-reply@domain.com');
$sendmail->set(html, true);
$sendmail->getParams($content);
$sendmail->parseBody();
$sendmail->setHeaders();
if ($sendmail->send()) {
$response = array('response' => 'success', 'comment' => 'email sent');
} else {
$response = array('response' => 'error', 'comment' => 'Error sending email');
}
}
echo json_encode($response);
}
?>
Проблема, с которой я столкнулся, заключается в том, что если я использую contentType: "application / json; charset =utf-8 "$ _POST всегда пуст.И когда я удаляю contentType: "application / json; charset = utf-8", заполняется $ _POST, но я не могу получить ответ json.Что я делаю не так ??