我有一个页面,用户可以为某些选项填写$ _GET数据。我想使用AJAX将这些$ _GET变量传递给.php脚本。但我的问题是如何传递他们到目前为止填写的$ _GET变量,而不刷新页面?
到目前为止,这是我的代码。
$.ajax({
type: "GET",
url: "serverside script to process on data",
data:{name:youwant}, // Here is where I want to take what the user has filled out so
// far, and place it here all without refreshing the page
success: function(data){
alert("return here if success")
}
})
答案 0 :(得分:1)
我不知道您的代码,但您可以使用表单,但不是提交它,而是将 onsubmit 方法添加到javascript函数中。在该函数中,您收集所有变量并通过ajax传递它。
示例:<form name="form1" method="get" onSubmit="return send()">
<script>
function send() {
$.ajax(...);
return false;
}
</script>
您可以使用seralize function发送 $ .ajax数据字段
答案 1 :(得分:1)
首先,将此任务放到小任务中:
1)在JavaScript中获取/处理变量
2)将它们发送给PHP
3)解析/处理那些
4)根据结果发送回复JavaScript
5)处理响应并向用户显示消息
看看这个例子, 我们假设加载了jquery.js。 假设我们想要发送输入的值 - 电子邮件和密码。
<script type="text/javascript">
$("#Send").click(function(){
$.ajax({
type : "GET",
//Look carefully:
data : {
// it'll be PHP vars // This is JS vars
email : $("#email").val(),
password : $("#password").val()
},
success : function(respondFromPHP){
alert(respondFromPHP);
}
});
});
</script>
<input type="text" id="email" />
<input type="password" id="password" />
<br />
<button id="Send">Send to php</button>
在你的php脚本中,只需处理你得到的变种,如下所示:
<?php
print_r($_GET); // will print smth like Array("email" => "foo", "password" => "bar")
// Then create function so that you can simplify handling of the vars.
// Like this:
function validate_password($password){}
function validate_email($email){}