我有这种奇怪的情况,我的表单不会发送任何数据,但页面(只应在发送数据时显示)。
我现在有了这个代码:
[..]
if(form == true){
var gender = $("input[@name='rgender']:checked").val();
var data = "name="+$("#name").val()+"&gender="+gender+"&country="+$("#country").val()+"&address="+$("#address").val()+"&zip="+$("#zip").val()+"&city="+$("#city").val()+"&mail="+$("#mail").val()+"&phone="+$("#phone").val()+"&checkin="+$("#checkin").val()+"&guests="+$("#guests").val()+"&time="+$("#time").val()+"&nights="+$("#nights").val()+"&remarks="+$("#remarks").val();
$.ajax({
url: "http://www.domain.nl/tmp/process.php",
type: "GET",
data: data,
cache: false,
success: function(){
$("#content").empty();
$("#content").load('http://www.domain.nl/tmp/process.php');
}
});
f.preventDefault();
}
[..]
我之前使用alert()
检查了数据字符串,并且该数据字符串正常运行
我的php文件看起来像这样,但我没有得到任何值
<?php
echo("GET: ".$_GET['name']);
?
>
答案 0 :(得分:1)
按如下方式更改:
url: "http://www.cherrytrees.nl/tmp/process.php?" + data,
在原始请求中,您通过POST发送,而不是GET。
答案 1 :(得分:1)
也许这会有所帮助:
success: function(result){
$("#content").html(result);
}
在您的代码中,您发送2个ajax请求。首先是$ .ajax和一些GET参数,第二个是$()。load,但没有任何参数。 实际上,您可以将代码简化为:
if(form == true){
var gender = $("input[@name='rgender']:checked").val();
var data = "name="+$("#name").val()+"&gender="+gender+"&country="+$("#country").val()+"&address="+$("#address").val()+"&zip="+$("#zip").val()+"&city="+$("#city").val()+"&mail="+$("#mail").val()+"&phone="+$("#phone").val()+"&checkin="+$("#checkin").val()+"&guests="+$("#guests").val()+"&time="+$("#time").val()+"&nights="+$("#nights").val()+"&remarks="+$("#remarks").val();
$("#content").load('http://www.cherrytrees.nl/tmp/process.php', data);
f.preventDefault();
}
答案 2 :(得分:0)
url: "http://www.cherrytrees.nl/tmp/process.php",
type: "GET",
data: data,
选项“data”仅适用于POST类型,如果您不想GET参数,请将它们写入您的URL
url.com?name="+$("#name").val()+"&gende....