проблема ajax: неопределенный индекс, что я должен делать, плз? - PullRequest
0 голосов
/ 06 июня 2019

Я пытаюсь выучить ajax для нового проекта, мне нужно загрузить данные, используя некоторые переменные javascripts, поэтому для начала я решил попробовать небольшую простую проблему ajax, но у меня ничего не вышло,

Примечание: неопределенный индекс: имя в C: \ Apache24 \ htdocs \ d.php в строке 4 отображается

Мой файл .js:

<script>

$.ajax({
    type: "POST",
    url: 'd.php',
    data: {name : "aa"},
    success: function(output) {
        alert(output);
    }
    error: function(request, status, error){
            alert("Error: Could not delete");
    }
);
        </script>

Мой php файл:

<?php

print_r($_POST['name']);

?>

Спасибо

Ответы [ 4 ]

0 голосов
/ 06 июня 2019

Хорошо, я написал ваш код в своем проекте, чтобы понять, в чем заключалась проблема, действительно, код правильный, но вы пропустили "," и "}" Ниже вы можете увидеть рабочий код:

    $.ajax({
        type: "POST",
        url: 'd.php',
        data: {name : "aa"},
        success: function(output) {
            alert(output);
        },
        error: function(request, status, error){
            alert("Error: Could not delete");
        }
    });

Еще один совет, добавьте проверку в файл .php:

if(isset($_POST)){
   my_data = $_POST['name'];
}

приятной работы!

0 голосов
/ 06 июня 2019
3 mistakes:
1 - name : aa
2 - comma after success function
3 - } at the end of ajax

var aa = 1234;

$.ajax({
    type: "POST",
    url: 'd.php',
    data: {name : aa},
    success: function(output) {
        alert(output);
    },
    error: function(request, status, error){
            alert("Error: Could not delete");
    }
           });

PHP для меня:

$s = $this->input->post('name');
return print_r($s);
0 голосов
/ 06 июня 2019

Попробуйте этот код в JavaScript.

$.ajax({
    enter code here
    url: 'd.php',
    data: {name : "aa"},
    type: 'post',
    dataType: 'json',
}).then(function(output) {
    alert(output);
}, function(request, status, error){
    alert("Error: Could not delete");
});
0 голосов
/ 06 июня 2019

Это не работает так, вы никогда не увидите, что происходит за укрытием, единственный выход - записать запрос в текстовый файл.

Ваша переменная будет определена только тогда, когда ajax отправит запрос POST, чтобы проверить, успешен ли он, отредактируйте ваш код следующим образом:

<?php
  //if post is set
  if(isset($_POST['name'])) {
     //open log.txt
      $file = fopen('log.txt', 'a'); 
     //ensure print_r give a return
       fwrite($file, print_r($_POST, true);
     //close log.txt
       fclose($file); 
   }
?>

Убедитесь, что вы создали файл log.txt

После этого отправьте запрос ajax и просмотрите переменные $ _POST в log.txt

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...