2014-03-18 4 views
1

Я хочу использовать метод jQuery ajax для обработки формы. В скрипте php, который я вызываю (myScript.php), я хотел бы использовать значение GET, которое задается путем отправки формы в php-скрипт, но она не проходит должным образом.Использование метода jQuery ajax для передачи параметров GET

<script> 
$('#myForm').submit(function(event) { 
     event.preventDefault(); 
     $.ajax ({ 
      url: "myScript.php", 
      success: function (data) { 
       console.log(data); 
      } 
     }); 
    }); 
</script> 

Моя форма имеет одно поле (имя пользователя):

<form id='myForm' action="" method="get"> 
    Username: <input type="text" id="username" name="username" value="" /> 
    <button id='submitButton' name="">Search</button> 
<form> 

И, наконец, мой PHP скрипт будет просто вернуть обратно значение ГЭТ.

<?php 
$returnString = array(); 
$returnString['username'] = $_GET['username']; 
echo json_encode($returnString); 
?> 

на консоль возвращается: { «имя пользователя»: NULL} независимо от того, какое значение вы вводите в поле ввода.

+0

Вы не передаете какие-либо данные * в * ваш запрос AJAX. – Blazemonger

+1

Вы должны отправить данные, отправленные пользователем, используя атрибут ** data ** метода **. Ajax() **. Поиск stackoverflow, есть тонны ответов. – pmandell

ответ

1

Вам нужно всего лишь serialize Данные формы:

$('#myForm').submit(function(event) { 
    event.preventDefault(); 

    var formData = $(this).serialize(); 

    $.ajax ({ 
     url: "myScript.php", 
     data: formData, 
     success: function (data) { 
      console.log(data); 
     } 
    }); 
}); 

Все, что находится в data, будет добавлено в конец URL-адреса согласно спецификации.

0

Вы можете использовать функцию get вашей АЯКС строки:

type (default: 'GET') 
Type: String 
The type of request to make ("POST" or "GET"), default is "GET". 
Note: Other HTTP request methods, such as PUT and DELETE, can 
also be used here, but they are not supported by all browsers. 

https://api.jquery.com/jQuery.ajax/

Или, вы можете просто сделать окно перенаправлять с переменной в URL в виде строки: how do I pass Jquery value to a different page?

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