AJAX调用中缺少POST参数会导致PHP脚本中出现未定义的索引警告

I am using AJAX for the first time so I write a code and I followed a tutorial, but when I try to send my post with ajax I am getting undefined index and I really don´t know why, I tried to search answer hear but since I am using AJAX and javascript for the first time, the code there didn´t tell me anything. Here is my code, I would be really greatful for any help, thank you.

js method

function post() {
    var name = $('meno').val();
    var priez = $('priezvisko').val();
    $.post( "aktualizuj.php", {
        'meno': name,
        'priezvisko': priez
    },
        function (data) {
        $('#result').html(data);
    }
        );
}

html form...

<html>
<head>

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    <script type="text/javascript" src="prihlasenie.js"></script>
</head>
<body>
<form>
    <label for="meno" >Meno:</label><input type ="text" name="meno" id="meno" value ="meno" ><br>

    <label for="priezvisko" >Priezvisko:</label><input type ="text" id="priezvisko" name="priezvisko" value ="priezvisko" ><br>
<input type="button" value="ulozZmeny"  onclick="post()" >
</form>
<div id="result"></div>
</body>
</html>

this where I should get from ajax/javascript

session_start();
require "pripojenie.php";


    $meno = $_POST['meno'];

    $priezvisko = $_POST["priezvisko"];
    $login = $_SESSION['login'];

jquery doesn't serialize key:value pairs where value is undefined, i.e.

$.post(url, { foo:undefined });

results in jquery not sending any POST parameter.

The problem is because of the following lines,

var name = $('meno').val();
var priez = $('priezvisko').val();

This would look for an element meno and an element priezvisko (and then their values) as if you had a document like

<p>
  <meno>...</meno>
  <priezvisko>...</priezvisko>
</p>

But you're looking for elements that have meno/priezvisko as value of their id attribute(s):

var name = $('#meno').val();
var priez = $('#priezvisko').val();

You should nevertheless check the existince of the parameters in your php script. Nothing prevents another script/bot/user to invoke your script with different parameters or no parameters at all.
see also: