我希望将ajax中cityField的值传递给$ _POST ['cityField']。一切看起来都是有序但变量没有传递到nextpage.php上的php
<script type="text/javascript">
$('#city').blur(function() {
var cityField=$('#city').val();
$.ajax({
type:"post",
url:"nextpage.php",
data:{'cityField':cityField },
dataType:"html",
success:function(data) {
alert("You typed:"+cityField);
}
});
});
</script>
答案 0 :(得分:1)
它很简单。改为:
...
data:$('#city').serialize()
...
或完全使用它:
<script type="text/javascript">
$('#city').blur(function() {
var $this=this;
$.ajax({
type:"post",
url:"nextpage.php",
data:$($this).serialize(),
dataType:"html",
success:function(data) {
alert("You typed:"+cityField);
}
});
});
</script>
了解更多信息,请参阅:http://api.jquery.com/serialize/
答案 1 :(得分:0)
不要使用&#39; cityField n#39;作为对象。因为数据包含格式为data {object:value}的参数。 使用此:
<script type="text/javascript">
$('#city').blur(function() {
var cityField=$('#city').val();
$.ajax({
type:"post",
url:"nextpage.php",
data:{myobj:cityField },
dataType:"html",
success:function(data) {
alert("You typed:"+cityField);
});
</script>
然后在服务器端检索myobj。
答案 2 :(得分:0)
在您的成功功能中,您将获得nextpage.php
在名为data
的var中发送的数据。您正在警告cityfield
变量。
所以改变你的成功功能就像这样:
....
success: function (data) {
console.log('This is the answer of nextpage.php : '+ data;
}
...
除此之外,将数据剥离到$.ajax
电话以外的对象可能是个好主意:
var myPostData = {};
myPostData.cityField = $('#city').val();
....
data: myPostData,
....