I have a problem with posting variable to php script and getting result back without refreshing page. php script koord.php
is tested and it's working fine.
adresa
, mjest
o and coords
are text input boxes): $(document).ready(function () {
$('#coord_click').click(function () {
provjera();
});
});
function provjera() {
var adresa = $('#adresa').val();
var mjesto = $('#mjesto').val();
var puna_adresa = adresa + " " + mjesto;
$.post("koord.php", { puna_adresa: puna_adresa },function (result) {
$('#coords').val(result);
});
}
$puna_adresa = $_GET['puna_adresa'];
function getCoordinates($address){
$address = str_replace(" ", "+", $address);
$url = "maps.google.com/maps/api/geocode/…";
$response = file_get_contents($url);
$json = json_decode($response,TRUE);
return ($json['results'][0]['geometry']['location']['lat'].",".$json['results'][0]['geometry']['location']['lng']);
}
echo getCoordinates($puna_adresa);
Complete source code is here: http://pastebin.com/u/bradetic
Thank you!
You seriously need to use Jquery AJAX, here's an example:
<script>
function your_function()
{
// collect data like this
var formData = jQuery("#your_form_id").serializeArray();
jQuery.ajax({
type: "POST",
url:"your_php_page.php",
data:formData,
dataType:'json',
beforeSend: function()
{
},
success: function(resp)
{
alert(resp);
},
complete: function()
{
},
error: function(e)
{
alert('Error: ' + e);
}
});
}
</script>
And you PHP script should go like this:
$puna_adresa=$_POST['puna_adresa'];
function getCoordinates($address){
$address = str_replace(" ", "+", $address);
$url = "maps.google.com/maps/api/geocode/…;;
$response = file_get_contents($url);
return $response;
}
$response = getCoordinates($puna_adresa);
echo json_encode($response);
The Jquery POST is not the problem.
Your are doing $.post(...)
which means that you need to get the parameter in koord.php
via $_POST
, and you are using $_GET
, you see the problem right?
Change $_GET['puna_adresa'];
to $_POST['puna_adresa'];
or
change $.post(...)
for $.get(...)
in your client side.
POST
and GET
right? Can you try this,
$.post("koord.php", { puna_adresa: adresa, mjesto: mjesto }, function (result) {
$('#coords').val(result);
});
Another way:
$.post("koord.php", $( "#testform" ).serialize(), function (result) {
$('#coords').val(result);
});
你可以尝试这个
$.post( "koord.php", $( "#testform" ).serialize() );
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.