我想使用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},无论您在输入框中输入什么值。
答案 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?