Как получить данные из AJAX в PHP без использования функции

-3

ПРИМЕЧАНИЕ. Нет больше голосов, пожалуйста, просто потому, что вы не можете ответить на вопрос/или не можете понять проблему, это не значит, что вам нужно проголосовать. Я ясно сказал, что могу предоставить дополнительную информацию/быть более конкретным, если вы мне тоже.

Отредактированное название для уточнения

Я использую javascript для проверки клиентской части формы, а затем используя ajax для передачи 3 массивов данных на отдельную страницу PHP для обработки. Просто пытаюсь выполнить базовый запрос с одним из массивов, прежде чем я начну.

ajax-запрос говорит, что он работает, и когда я перехожу на вкладку сети, а затем нажмите "Ответ", он отображает все массивы с правильными значениями/индексами.

Но на стороне PHP ничего не происходит. Я не знаю, как отлаживать PHP, потому что он на другой странице. Я предполагаю, что это имеет какое-то отношение к моему синтаксису, поскольку у меня есть это слишком раньше, но я использовал ajax в функции. Я очень новичок в ajax, поэтому я не уверен, правильно ли я это делаю. Я пробовал действительный $wpdb запрос на странице, и ничего не происходит. Как правильно структурировать мою страницу PHP для работы с ajax? В любом случае я могу отлаживать свой PHP, когда срабатывает ajax?

Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.

AJAX CALL:

$.ajax({
type: "POST",
url: "?page_id=251",
data: { vData: videoData, tsData: tsValues, dData: tsDescriptions},
success: function(){
$("#errorMessage").text("ajax success.");
}});

? page_id = 251 (страница PHP)

 <?php
 $videoData = $_POST['vData'];    // i have also tried $_GET['vData'];
 $vSRC = $videoData[0];$vTIT = $videoData[1];$vDES = $videoData[2];$vPDF = $videoData[3];$vDAT = $videoData[4];  
 $uID = get_current_user_id();

 global $wpdb;

 $wpdb->insert( $wpdb->prefix."uservideo", array(
               "user_id" => $uID,
               "video_src" => $vSRC,
               "video_title" => $vTIT,
               "video_description" => $vDES,
               "pdf_file" => $vPDF,
               "video_date" => $vDAT
            ));

 ?>
  • 0
    Ваш URL говорит ?page_id=251 . Вы знаете, что это будет публиковать в index.php / index.html, и будете делать странную комбинацию запроса GET / POST? Я не думаю, что это то, что вы хотите. Вы, вероятно, намереваетесь ссылаться на фактический файл ...
  • 0
    Я использую WordPress, который постоянные ссылки на страницы. это действительный локальный объект, если я тоже его изменю:? page_id = fkdjkfhdsfk, ajax не работает. На моем другом вызове ajax я использовал тот же синтаксис, и он работает. Теперь, когда я не использую функцию, мой PHP не работает с данными ajax.
Показать ещё 6 комментариев
Теги:
wpdb

1 ответ

0
Лучший ответ

Я нашел решение проблемы. Мне нужно было вызвать функцию с помощью ajax, нельзя просто вызвать страницу. Я уверен, вы можете просто позвонить на страницу, но никто не знает, как очевидно.

AJAX

    <script type="text/javascript">
    function insert_data(vidData,timesData,descData){
      $.ajax({
          url: '?page_id=251', 
          type: 'POST',
          data: {action: 'insert_video', vData: vidData, tsData: timesData, dData: descData },
          dataType: 'json',
          success: function(response){
            alert('dhsdhjsdjhsjhdjhsd');
          }
      });
    }
</script>

PHP

<?php
function insert_video($videoData,$tsValue,$tsDesc){
 $videoData = $_POST['vData'];
 $vSRC = $videoData[0];$vTIT = $videoData[1];$vDES = $videoData[2];$vPDF = $videoData[3];$vDAT = $videoData[4];
 $tsValue = $_POST['tsData'];
 $tsDesc = $_POST['dData'];
 $uID = get_current_user_id();

 global $wpdb;

 $wpdb->insert( $wpdb->prefix."uservideo", array(
               "user_id" => $uID,
               "video_src" => $vSRC,
               "video_title" => $vTIT,
               "video_description" => $vDES,
               "pdf_file" => $vPDF,
               "video_date" => $vDAT
            ));
}
 echo insert_video($_POST['vData'], $_POST['tsData'], $_POST['dData']);
?>
  • 0
    Почему у вас есть дополнительное action: 'insert_video' сейчас? Это то, что написано в документах. Вам также необходимо опубликовать данные action . С тем же методом значения action на стороне PHP.
  • 0
    Действие: используется для указания, какая функция вызывается. И не имеет значения, использую ли я WP ajax или обычный AJAX, то же самое. Я пытаюсь не использовать функцию и просто вызывать страницу, но я не думаю, что вы можете сделать это с помощью ajax.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню