Php jQuery通过AJAX传递多个参数

Php jQuery通过AJAX传递多个参数,php,jquery,ajax,mysqli,parameters,Php,Jquery,Ajax,Mysqli,Parameters,使用jQuery,我可以使用下面的代码通过ajax发送1个参数,并返回请求的数据 我的javascript文件名为:globals.js $('#submitButton').on('click', function(){ var port = $('#port').val(); // single parameter passed from index.php if($.trim(port) != '') { $.post('api/summary.php',

使用jQuery,我可以使用下面的代码通过ajax发送1个参数,并返回请求的数据

我的javascript文件名为:globals.js

 $('#submitButton').on('click', function(){
   var port = $('#port').val();  // single parameter passed from index.php
   if($.trim(port) != '')
   {
     $.post('api/summary.php', {port: port}, function(data){
       $('#content').html(data);
     });
   }
 });
下面是位于index.php文件中的几个输入字段

 <input type="text" id="port" name="port" />
 <input type="text" id="voyage" name="voyage" />
 <input type="text" id="rep" name="rep" />
 // quite a few more input fields and select options as well

 <button type="submit" id="submitButton" name="submitButton">Submit</button>

 <script src="js/globals.js" type="text/javascript"></script>   // included javascript file above

//还有很多输入字段和选择选项
提交
//包括上面的javascript文件
因此,当用户输入一个端口并单击submit时,上面的jQuery将执行并获取该端口,并通过ajax调用向其发送名为:summary.PHP的PHP脚本

 <?php
   include("../include/database.php");

   $_SESSION['where'] = "";
   $port = $_POST['port'];
   $voyage = $_POST['voyage'];
   $rep = $_POST['rep'];
   // more variables follow;

   // at this point, I can echo port and return in to the page, 
      or use it in a query, and return the data in a table if necessary

   echo $port;  // passed from jquery
   echo $voyage; // cannot pass from jquery
   echo $rep;  // cannot pass from jquery
   // and so on....

   ?>

我可以在上面jQuery中指示的$('#content').html(数据)中显示内容(现在它是唯一的端口)

但是我需要做的是让jQuery接受多个参数并将它们传递给我的PHP脚本。这就是我被困的地方

我知道问题在于我上面的jQuery


所以我的问题是:如何在不刷新页面的情况下传递1个或多个参数?

您只需添加到数组中-

$('#submitButton').on('click', function(){
    var port = $('#port').val();  // single parameter passed from index.php
    var voyage = $('#voyage').val();
    // add other values here
    if($.trim(port) != '')
    {
        $.post('api/summary.php', {port: port, voyage: voyage /* add other values separated by commas */}, function(data){

像这样的?只需附加额外的数据,用逗号分隔。

很简单,但是如果它们离开,比如说PORT blank并输入VOYAGE,会发生什么?这会使一切都消失吗?不,PORT的值将作为空白发送。因此,对于表单中的每个可用变量,我可以将其添加到jquery中吗?你是说就这么简单???哈哈……我会尝试一下,如果我成功了,会告诉你的。感谢您的帮助,好先生。向您提出的问题与上面相同:如果用户输入的内容用于“航行”,而不是“港口”,会发生什么?发送的值将为空。向上投票给您,因为您的答案与Jay Blanchard的答案相同,并且是成功的。谢谢你的评论。请养成这样的习惯,帮助你解决问题。
$.post( "api/summary.php", { name: "John", time: "2pm"} , function(data){
       $('#content').html(data);
     });