正在将带有jquery的select选项发送到php文件。。。?
我花了2天的时间研究如何使用jquery将变量发送到php。我在stackoverflow上搜索了100多篇文章,我尝试了多个例子。但我只是完成了。所以我真的希望这里的人能帮我找出我做错了什么正在将带有jquery的select选项发送到php文件。。。?,jquery,Jquery,我花了2天的时间研究如何使用jquery将变量发送到php。我在stackoverflow上搜索了100多篇文章,我尝试了多个例子。但我只是完成了。所以我真的希望这里的人能帮我找出我做错了什么 <?php print_r(json_decode($_POST['country'])); ?> <html> <head> <script type="text/javascript" src="http://ajax.googleapis.com/a
<?php
print_r(json_decode($_POST['country']));
?>
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$('#country').change(function() {
var country = $('#country').val();
$.ajax({
type: 'POST',
data: country,
dataType: 'json',
url: 'timezone/timezone.php',
})
alert("Country: " + country);
});
});
</script>
</head>
<body>
<form method = "post" name="form1">
<select name="country" class="country" id="country">
<option value="NL">Nederland</option>
<option value="BE">Belgie</option>
</select>
</form>
</body>
</html>
数据需要是查询字符串,或者是带有键和值的对象 作为对象
$.ajax({
type: 'POST',
data: { 'country': country }
dataType: 'json',
url: 'timezone/timezone.php',
success: function( data ) {
var element = data.wrap('<div />'); // wrap the response in a div
$('body').append( element ); // append it to the body
}
});
如果有疑问,请始终转到jquery。这里是ajax文档的摘录
data选项可以包含形式为key1=value1&key2=value2的查询字符串,也可以包含形式为{key1:'value1',key2:'value2'}的映射。如果使用后一种形式,则在发送数据之前,使用jQuery.param将数据转换为查询字符串。通过将processData设置为false,可以绕过此处理。如果希望将XML对象发送到服务器,则处理可能是不需要的;在本例中,将contentType选项从application/x-www-form-urlencoded更改为更合适的MIME类型。我尝试了这两种类型,但仍然有一些不正确的地方。这可能与php有关吗?我刚刚注意到您正在对json进行解码,您不必这样做,您只需回显$_POST['country',],然后尝试一下,然后查看结果。那么您正在将country发布到同一个脚本中?在firebug中,转到您的网络选项卡,查看来自服务器的请求和响应,它是200行吗?是的,它说是200kb。这是什么意思?jquery是否已成功发送字符串?但不知怎的php失败了?你知道吗?我认为这是可行的,您的页面将不会刷新,因为这是一个AJAX请求,因此您将不会看到echo$_POST['country'];我将编辑答案,将来自服务器的响应注入到div中,这样您就可以看到服务器正在发送回什么。让我知道会发生什么。
$.ajax({
type: 'POST',
data: 'country='+country,
dataType: 'json',
url: 'timezone/timezone.php'
});