【发布时间】:2014-03-18 23:46:35
【问题描述】:
我想使用 jQuery $.ajax GET 方法处理一个表单,并且查询参数最终位于 url 中。如果我在没有 jquery 的情况下处理表单,我可以做到这一点,但如果我通过 jQuery 的 $.ajax 方法来完成,我必须使用 event.preventDefault() 来阻止浏览器的默认操作,在这种情况下,参数永远不会出现在 url .基本上,如果有人从 url 输入查询(即 mysite.com?param1=myValue )或者如果他们单击提交按钮,我希望这样做是提交/处理表单。
<form id='myForm' action="" method="get">
Username: <input type="text" id="username" name="username" value="" />
<button id='submitButton' name="">Search</button>
<form>
<script>
$('#myForm').submit(function(event) {
event.preventDefault();
var formData = $(this).serialize();
$.ajax ( {
url: "myScript.php",
type: 'GET',
data: formData,
success: function (data) {
console.log(data);
}
} );
});
</script>
myScript.php:
<?php
$returnString = array();
$returnString['username'] = $_GET['username'];
echo json_encode($returnString);
?>
【问题讨论】: