2015-04-23 6 views
0

Используя JQuery, я могу использовать приведенный ниже код, чтобы отправить 1 параметр через ajax и вернуть запрошенные данные.JQUERY AJAX PHP MYSQLi, передающий несколько параметров

Мой 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 

Таким образом, когда пользователь вводит PORT и щелчки submit, JQuery выше выполняет и берет PORT, а через ajax-вызов отправляет ему скрипт PHP: summary.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.... 

    ?> 

Я могу отобразить содержимое (которое сейчас только PORT) в $ ('# content'). Html (данные), указанном в jquery выше.

Но мне нужно сделать, чтобы Jquery принимал несколько параметров и передавал их в мой PHP-скрипт. Вот где я застрял.

Я знаю, что проблема заключается в моем JQuery выше.

Так что мой вопрос: Как передать 1 или более параметров без обновления страницы?

Прошу простить мое невежество ... Я пытаюсь стать лучше в JQuery и Ajax.

Пожалуйста, помогите.

+0

Пожалуйста, войдите в привычку [принимать ответы] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work), которые помогут вам решить ваши проблемы. –

ответ

2

Вы просто добавить в массив -

$('#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){ 
+0

Так просто, но что произойдет, если они уйдут, скажем, PORT blank и введите VOYAGE? Отбросит ли это все? –

+1

Нет, значение для ПОРТА будет отправлено в виде пробела. –

+0

Итак, для каждой доступной переменной, которая у меня есть в форме, я могу просто добавить ее в jquery? Вы говорите мне, что это так просто ??? Ха-ха ... Я попробую это и дам вам знать, удастся ли мне это сделать. Спасибо вам за помощь, сэр. –

1
$.post("api/summary.php", { name: "John", time: "2pm"} , function(data){ 
     $('#content').html(data); 
    }); 

Что-то вроде этого? Просто добавьте дополнительные данные, разделенные запятой.

+0

Тот же вопрос, что и выше: что произойдет, если пользователь что-то сделает для VOYAGE, но не для ПОРТА? –

+1

Значение, отправленное, будет пустым. –

+0

Дал вам аванс, потому что ваш ответ был таким же, как ответ Джей Бланшар, и он был успешным. Благодарим за комментирование. –

Смежные вопросы