简体   繁体   English

Ajax请求隐藏字段

[英]ajax request hidden fields

I'm developing a site (only for fun and learn programming with jquery) and i'd like to know what's wrong with this : 我正在开发一个网站(仅出于娱乐目的,并学习使用jquery编程),我想知道这是怎么回事:

$(window).unload(function(){
 var myid = $('input#v1').attr('value');   // hidden
 var playauth = $('input#v2').attr('value');   // hidden
 var srvid = $('input#v3').attr('value');      // hidden
 var result = 'myid='+ myid +'&auth='+ playauth +'&srvid='+ srvid;
    $.ajax({
            type: "GET",
            data: result,
            url: "closing.php",
            complete: function(data) {
            alert(data.responseText);
            }
           });
});

I'm trying to update a database table. 我正在尝试更新数据库表。 When i close the window nothing happens. 当我关闭窗户时,什么也没发生。 With a previous version of this function : 使用此功能的先前版本:

window.onunload = function () {
  var xhReq = new XMLHttpRequest();
  var n = document.getElementById("v1").InnerHTML;
  var o = document.getElementById("v2").InnerHTML;
  var p = document.getElementById("v3").InnerHTML;
  xhReq.open("GET", ("closing.php?myid=" + n + "&auth=" + o + "&srvid=" + p) , false);
  xhReq.send(null);
  var serverResponse = xhReq.responseText;
  alert(serverResponse); 
};

.. i saw the response alert but GET values were 'undefined'. ..我看到了响应警报,但GET值未定义。 .... probably because the type of inputs is hidden..? ....可能是因为输入的类型是隐藏的..? This is my form... maybe i miss something ?? 这是我的表格...也许我错过了什么? I'm really new to jquery/ajax .. please help!! 我真的是jquery / ajax的新手..请帮助!!

<form method="get">
<input id="v1" type="hidden" name="val1" class="aget" value="<?php echo $_GET['myid']; ?>" />
<input id="v2" type="hidden" name="val2" class="bget" value="<?php echo $_GET['playauth']; ?>" />
<input id="v3" type="hidden" name="val3" class="cget" value="<?php echo $_SESSION['srvid']; ?>" />
</form> 

change 更改

 var myid = $('input#v1').attr('value');   // hidden
 var playauth = $('input#v2').attr('value');   // hidden
 var srvid = $('input#v3').attr('value');      // hidden

to

 var myid = $('input#v1').val();   // hidden
 var playauth = $('input#v2').val();   // hidden
 var srvid = $('input#v3').val();      // hidden

You must use 您必须使用

.val(); instead of .attr('value'); 而不是.attr('value');

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM