如何让 ajax 数据在我的 php 文件中工作

How do I make ajax data work on my php file

我输入了以下内容并希望它将数据传输到我的 PHP 文件中的 PHP 变量。我已经看了大约 3 个小时的其他帖子,但考虑到我的代码与原始发帖者不同并且我无法理解它,我并没有真正减轻任何影响。

这是我正在使用的 java-脚本文件的代码...

    $(function(){
      $.ajax({
        type: "POST",
        url: 'http://localhost/HelpMe/html/a.php',
        data: ({name_info:nameVal}),
        success: function(data) {
         // alert(data)
        }
      });
    });

注意:警报(数据)正在返回我想要的文本。


这是我的 php 文件中的 PHP...

<?php
  $img1 = $_POST['name_info'];
  echo $img1;
?>

所以,我再次希望将发送到 php 文件的 Ajax 值保存为变量,但目前它只是返回错误:

Notice: Undefined index: name_info in ****\mysite\html\a.php on line 2

请注意,我对 PHP 和 AJAX 非常陌生,没有太多后端知识...

提前致谢!

编辑:按钮代码...

  function generateURLfront_end() {
if($('#confirm-title').is(':checked') && $('#confirm-name').is(':checked') && $('#confirm-question').is(':checked')) {


  $(function(){
        $.ajax({
          type: "POST",
          url: 'http://localhost/HelpMe/html/a.php',
          data: {name_info: nameVal},
          success: function(data) {
           alert(data)
          }
        });
      });

}

按钮HTML...

          <button onclick="generateURLfront_end();" class="btn blue waves-effect waves-light z-depth-3" id="submit-but">Submit
            <i class="material-icons right">cloud</i>
          </button>

Returns我要的值...

没有回应我认为用 Ajax 代码设置的变量...

编辑:根据告诉我使用 click(function(e) 的人的说明尝试了以下操作。

          $('submit-but').click(function(e){e.preventDefault();
          $.ajax({
            type: "POST",
            url: 'http://localhost/HelpMe/html/a.php',
            data: {name_info:nameVal},
            success: function(data) {
             alert(data)
            }
        });
      })

仍然没有回显我在 a.php 上创建的变量。刚刚收到相同的错误消息...

编辑:刚刚有人发帖说这是我的 PHP 并告诉我应该在我的 php 文件中包含以下内容..

    $inputJSON = file_get_contents('php://input');
$img1 = $inputJSON['name_info'];

那是我的错误...

Notice: Uninitialized string offset: 0 in C:\Users\Trents\Desktop\XXAMP\htdocs\HelpMe\html\a.php on line 3

Warning: Illegal string offset 'name_info' in C:\Users\Trents\Desktop\XXAMP\htdocs\HelpMe\html\a.php on line 3

无论如何你能帮我解决这些问题或给我一些关于如何解决这些问题的信息吗?谢谢!

编辑:添加 print_r($_POST);添加行 Array ()

请试一试它是否有效。

$(function(){
      $.ajax({
        type: "POST",
        url: 'http://localhost/HelpMe/html/a.php',
        data: {name_info: nameVal},
        success: function(data) {
         alert(data)
        }
      });
    });

您可以使用 jquery Post 方法 ajax 请求

<script>
    $(document).ready(function(){
        var val = nameVal;
        // button here
        $("#button").click(function(){
            $.post('http://localhost/laravel542/public/ajaxrequest',{ name_info : val},function(data){
                //console.log(data);
                alert(data);

            });

        });
    });
    </script>

向php发送数据时无需加括号,只需发送JSON即可。 例如:

$(function(){
      $.ajax({
        type: "POST",
        url: 'http://localhost/HelpMe/html/a.php',
        data: {name_info:nameVal},
        success: function(data) {
         // alert(data)
        }
      });
    });

@Felix, No because js is client-side scripting and PHP is Server-side scripting, so you can't directly store js variable data to PHP variable.

我试图做的事情是不可能的,但还是感谢你的帮助! 我将不得不通过重写一些界面来纠正我的错误,我想我会从那里变得很好。

再次感谢!