如何使用javascript将选定项放入php post数组中?

如何使用javascript将选定项放入php post数组中?,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我试图在一个php页面上发布一个下拉列表中的选定项,以便在另一个php页面中访问。页面没有提交按钮,所以我在页面底部使用javascript。这是应该将该项目发布的页面 <!DOCTYPE html> <html> <head> <?php session_start();?> </head> <body> <select class="myList" name="Country" id="co

我试图在一个php页面上发布一个下拉列表中的选定项,以便在另一个php页面中访问。页面没有提交按钮,所以我在页面底部使用javascript。这是应该将该项目发布的页面

 <!DOCTYPE html>
 <html>
 <head>
 <?php session_start();?>
 </head>
 <body>

     <select class="myList" name="Country" id="country-selector"  autofocus="autofocus" autocorrect="off" autocomplete="off">
      <option value="" selected="selected">Select Country</option>
       <option value="Belgium" data-alternative-spellings="BE België Belgie Belgien Belgique" data-relevancy-booster="1.5">Belgium</option>
      </select>

  <Script>

  $(function () {

  $("#country-selector").change(function(){

  var x = document.getElementById("country-selector").value;

   alert(x);
   $.post('page2.php', {'selectedCountry': x});
   $.post('page2.php','val='+$(this).val(),function (response){

  alert(response);
  }); 

  });

  });
   </script>

   </body>
   </html>
然后我希望page2.php作为目标页面。我转到page2.php并尝试如下方式查看post数组:

   <?php
  session_start();

  echo $_POST['selectedCountry'];

    print_r($_POST);

  ?>
…但所选国家/地区项目不在$\u POST数组中。如何使用javascript将选定项放入php post数组中?
谢谢。

$\u POST['selectedCountry']将在您的第一篇ajax帖子中包含该值,但其中没有警告语句。在第二个ajax post请求中,$\u post将没有selectedCountry键,因此您将获得类似Arrayval=>Belgium的输出。你的问题是什么?我只是出于调试的目的使用警报语句。我想要的是将所选项目放入$\u POST数组中,然后在另一个页面中访问它。@CloudyCooper这就是POST变量的工作方式,它们仅在当前请求中可用。如果您需要在另一个页面请求中访问它们,您需要将它们保存到会话或某种数据库中。欢迎使用堆栈溢出!因为这是你的第一个答案,所以来复习一下。一般来说,只有代码的答案通常更好,有一点背景。虽然这个代码块可能会回答这个问题,但如果您能解释一下为什么会这样做,那将是最好的。很抱歉,我的问题令人困惑。我想要的最终结果是从post中获取所选国家的名称,并将其分配给会话变量。比如$\u SESSION['selectedcountry']=$\u POST['selectedcountry']。只有我似乎无法在post数组中获取所选国家的名称,以便我可以将其放入会话数组中。
 $("#country-selector").change(function(){

  var x = document.getElementById("country-selector").value;

   $.post('page2.php', {'selectedCountry': x}).done(function(response) {
      alert(response);
  });

  });