我有一个表单,它有一个输入PIN代码的字段。在这里,当输入PIN代码时,我使用ajax查找位置。当该字段不包含在表单中时,它就会工作。如果它包含在表单中,则AJAX无法工作。
HTML代码:
<form id="form" class="blocks" action="#" method="post" enctype="multipart/form-data">
<div class="col_4 right">
<label for="fullname">FirstName:</label>
<input name="fname" type="text" class="text" />
</div>
<div class="col_4 right">
<label for="pincode">Pin-Code:</label>
<input name="pincode" type="text" class="text" id="pincode" />
<div id="section1"></div>
</div>
</form>JS代码:
<script>
$(document).ready(function() {
$('#pincode').keyup(function (e) {
if (e.keyCode == 13) {
//ajax request
$.ajax({
url: "pincode_check.php",
data: {
'pincode' : $('#pincode').val()
},
dataType: 'json',
success: function(data) { <!--console.log(data.success);-->
if(data.success){
//console.log(data.results[0].formatted_address.split(','))
var long_address=data.results[0].formatted_address.split(',');
console.log(long_address[0]);
$('#section1').append(long_address[0]);
}
}
});
}
});
});
</script>PHP代码(pincode_check.php):
<?php
$pincode=$_REQUEST['pincode'];
$geocode=file_get_contents('http://maps.google.com/maps/api/geocode/json?address='.$pincode.'&sensor=false');
$response= json_decode($geocode); //Store values in variable
$lat = $response->results[0]->geometry->location->lat; //Returns Latitude
$long = $response->results[0]->geometry->location->lng; // Returns Longitude
$geocode=file_get_contents('http://maps.googleapis.com/maps/api/geocode/json?latlng='.$lat.','.$long.'&sensor=false');
$data= json_decode($geocode);
if($data==true)
{ // Check if address is available or not
$data->results[0]->formatted_address ;
$data->success=true;
echo json_encode($data);
}
else {
$data->success= false;
echo json_encode($data);
}
?>发布于 2014-02-25 06:00:39
$.ajax中的默认内容类型是application/x-www-form-urlencoded。但是,您已经将表单内容设置为multipart/form-data。
multipart/form-data通常用于发送带有POST的文件。我认为您不需要这样做,所以根本不需要指定enctype,只需删除它并使用默认的表单编码,即application/x-www-form-urlencoded。
(此外,$.ajax中的默认请求类型是GET,因此如果您确实想发送一个文件,则需要很好地更改该too..as,并将属性type="file"添加到您的表单中,我相信.)
https://stackoverflow.com/questions/22005342
复制相似问题