使用jQuery ajax方法传递GET参数

时间:2014-03-18 19:40:10

标签: jquery ajax

我想使用jQuery ajax方法来处理表单。在我调用的php脚本(myScript.php)中,我想使用通过在php脚本中提交表单而设置的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);
?>

控制台返回: {“username”:null},无论您在输入框中输入什么值。

2 个答案:

答案 0 :(得分: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属性中的任何内容都会根据规范附加到网址末尾。

答案 1 :(得分:0)

您可以使用ajax字符串的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?