0

変数をphpスクリプトに投稿し、ページを更新せずに結果を取得することに問題があります。phpスクリプトkoord.phpはテスト済みで、正常に動作しています。

これは私のjsコードです(adresamjesto 、およびcoordsテキスト入力ボックスです):

$(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);
    });
}

コード.php:

$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]['geo‌​metry']['location']['lng']); 
} 

echo getCoordinates($puna_adresa);   

完全なソース コードはこちら: http://pastebin.com/u/bradetic

ありがとうございました!

4

4 に答える 4

1

Jquery AJAX を真剣に使用する必要があります。例を次に示します。

<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>

PHP スクリプトは次のようになります。

$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);
于 2013-11-13T07:07:26.060 に答える
0

これを試してみませんか?

     $.post("koord.php", { puna_adresa: adresa, mjesto: mjesto }, function (result) {
        $('#coords').val(result);
    });

別の方法:

    $.post("koord.php", $( "#testform" ).serialize(), function (result) {
        $('#coords').val(result);
    });

参照: http://api.jquery.com/jQuery.post/

于 2013-11-13T06:59:29.580 に答える
0

あなたはこれを試すことができます

$.post( "koord.php", $( "#testform" ).serialize() );
于 2013-11-13T08:36:32.623 に答える