Я использую ajax
для отправки данных в php-функцию. Конечной целью является отображение строк данных на основе $tweetdate
. Вот мой Ajax скрипт:Ajax отправляет данные, но php не получает его
jQuery('#bootstrapModalFullCalendar').fullCalendar({
dayClick: function(date, event, jsEvent, view) {
var date = date.format();
jQuery.ajax({
type: "POST",
url: ajaxurl,
data: {
'action': 'show_scheduled_tweets',
'tweetdate': date
},
beforeSend: function() {
console.log('before')
},
success: function(){
console.log('success')
},
error: function(){
console.log('error')
},
});
}
});
Вот мой PHP функция (add_action для использования WordPress):
<?php
add_action('wp_ajax_show_scheduled_tweets', 'show_scheduled_tweets');
function show_scheduled_tweets() {
global $wpdb;
$tweetdate = $_POST["tweetdate"];
$query = "SELECT * FROM wp_tweettweet WHERE tweetdate='$tweetdate'";
$results = $wpdb->get_results($query, ARRAY_A);
foreach($results as $result) {
$tweet2 = $result[text];
$recycleOption = $result[recycle];
$id = $result[id];
$currentDateTime = $result[time];
$time = date('h:i A', strtotime($currentDateTime));
?>
<form class="tweetclass form-inline" action="" method="post">
<input type="checkbox" name="recycle" <?php if($recycleOption == 1){ echo "checked";} ?>>Recycle Tweet?
<input class="tweetinput" type="text" name="tweetupdate" value="<?php echo $tweet2; ?>">
<input type="hidden" name="id" value="<?php echo $id; ?>">
<input type="text" name="timepicker" class="timepicker" value="<?php echo $time; ?>"/>
<input class="tweetsubmit" type="submit" value="Save">
<input class="tweetdelete" type="submit" value="delete">
</form>
<?php
}
}
show_scheduled_tweets();
?>
fullCalendar
является календарем событий jQuery
. Когда пользователь нажимает на день (dayClick), этот день сохраняется на сегодняшний день. Эта дата - это то, что я пытаюсь сохранить для «tweetdate» в моем ajax.
В хром, когда я использую вкладку сети на инспекторе, я вижу результат ajax, а дата, на которую нажимается, установлена на «tweetdate». Это не зависит от моей php-функции. В моем php «tweetdate» не получает присвоенное ему значение.
Теперь, если я зашел в свою php-функцию и установил «tweetdate» на фактическую дату вместо , например. 2016-06-15, чем все работает отлично.
Я не совсем уверен, что происходит.
'console.log (date)' внутри вашей функции «dayClick», чтобы увидеть, что он содержит ожидаемое значение. Отправьте это значение здесь. – Marcus
Вы уверены, что 'date' - это не просто объект? – Marcus
Да, да. Например, если я нажимаю 11 июня, возвращаемое значение равно 2016-06-11 – user715564