POST request to UPDATE rows

I'm kind of newbie in javascript so I'm looking for some help to create a way to drag and drop geocoding markers, to allow interactive changing addresses. I believe this is possible by updating the LOCATION column rows.

The first step to do it is 'sending' a POST request, right? Well, so I would like to ask if somebody can show me an example, because I don't make any idea how to write and put this POST request in my code!



You must POST to the Fusion Tables API to update a column, but currently you can't do this directly from JavaScript as Google does not set the CORS headers to allow cross-domain posting to their API.

So if you want to do this, you have to "relay" your request through your webserver or something similar. I do it with the following PHP script, then I post the request via JavaScript to my PHP script. And finally, you have to authenticate yourself using OAuth.

$url = "";
$relay = new PostRelay($url,$_POST);
echo $relay->relay();

And in class PostRelay the method relay() is defined, the $_POST holds all posted data (represented by $this->data in my class):

public function relay()
    $url = $this->getUrl();
    $this->curlHandler = curl_init($url);
    curl_setopt($this->curlHandler, CURLOPT_POST, true);
    curl_setopt($this->curlHandler, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($this->curlHandler, CURLOPT_TIMEOUT, 30);
    curl_setopt($this->curlHandler, CURLOPT_FOLLOWLOCATION, 1);

    if($this->data != null) {
        curl_setopt($this->curlHandler, CURLOPT_POSTFIELDS, $this->getData());

    $remote_answer = curl_exec($this->curlHandler);

    if(curl_errno($this->curlHandler) != 0) {
        $msgErrorNo = "cURL Errornumber: ".curl_errno($this->curlHandler);
        $msgError = "cURL Error: ".curl_error($this->curlHandler);
        throw new RemoteException($url,$msgErrorNo." ".$msgError);
    return $remote_answer;

This is possible using the new Trusted Tester Fusion Table API. I've posted some code here:

To use the new code, you need to be a Trusted Tester. To become a Trusted Tester, simply join the Trusted Tester API group:

<!DOCTYPE html>
#map_canvas { width: 600px;height: 550px; }

<script src=""type="text/javascript"></script>
<script type="text/javascript"src="">
<script type="text/javascript">
var map;

var layer;
var tableid = 3385625;

function initialize() {
map = new google.maps.Map(document.getElementById('map_canvas'), {
center: new google.maps.LatLng(-30.127460619520974, -51.167964935302734),
zoom: 11,
 mapTypeId: google.maps.MapTypeId.ROADMAP

layer = new google.maps.FusionTablesLayer(tableid);
layer.setQuery("SELECT 'ENDERECO' FROM " + tableid);
function changeMap() {
var searchString = document.getElementById('search-string').value.replace(/'/g, "\\'");
if (!searchString) {
layer.setQuery("SELECT 'ENDERECO' FROM " + tableid);
layer.setQuery("SELECT 'ENDERECO' FROM " + tableid + " WHERE 'TIPO' = '" + searchString + "'");
var queryUrlHead = '';
var queryUrlTail = '&jsonCallback=?';
var query = "SELECT COUNT() FROM " + tableid + " WHERE 'TIPO' CONTAINS IGNORING CASE '" + searchString + "'"
var queryurl = encodeURI(queryUrlHead + query + queryUrlTail);
var jqxhr = $.get(queryurl,


<body onload="initialize();">

<div id="map_canvas"></div>

<div style="margin-top: 10px;">
<label>Qual o tipo?</label>
<select id="search-string" onchange="changeMap(this.value);">
 <option value="">--Selecionar/Reset--</option>
 <option value="Bar">Bar</option>
 <option value="Comidas variadas">Comidas variadas</option>
 <option value="Espaço de Cultura">Espaço de Cultura</option>
 <option value="Hotel">Hotel</option>
 <option value="Igreja">Igreja</option>
 <option value="Museu">Museu</option>
 <option value="Restaurante">Restaurante</option>
 <option value="Shopping Center">Shopping Center</option>
 <option value="Teatro">Teatro</option>
 </div> </br>
 <span id='count'></span>

Have a look at jQuery Ajax:

Example (assuming a .NET web service that resides at a web root folder called Ajax):

var Params = "{'myParamName': 'myParamValue'}";

        type: "POST",
        url: "Ajax/MyWebService.asmx/MyWSMethod",
        data: Params,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (response) {
            // Handle the response here as you need to...
        failure: function () {
            // Handle failure if needed


Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us Javascript

©2020 All rights reserved.