0

PHPファイルとの間でデータを送受信したい。これを行うための最良の方法は何ですか?

GDownloadUrlGoogle Map V3での最良の代替品は何ですか?

正常に挿入したかどうかを確認するための既存の関数は次のとおりです。

function checkSaveGeoFenceData(data,code)
{
    //var geoFenceDataJson = eval('(' + json + ')'); 

    if(code===200)
    {
        //alert("JSON VALUE : "+data+"test");
        if(data=="SMGFE\n")
        {
            alert("Geo Fence " + 
                document.getElementById("geoFenceName").value + 
                " Already Exist");
        }
        else {
            alert("Successfully Inserted");

            window.opener.location.reload();
            window.close();
        }
    }
    else
    {
        alert("Fail to insert");
    }
}

PHPからデータを取得するための既存の関数:

function processtViewData(json)
{
    dataJson = eval('(' + json + ')'); 
    var totalData = dataJson.data1.length;
}
4

1 に答える 1

1

APIV3にはGDownloadUrlに相当するものはありません。AJAXを介したデータの読み込みは、APIやGoogleマップに固有ではない一般的なJavaScriptタスクです。

同じことを行う関数は次のとおりです。

function ajaxLoad(url,callback,postData,plain) {
    var http_request = false;

    if (window.XMLHttpRequest) { // Mozilla, Safari, ...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType && plain) {
            http_request.overrideMimeType('text/plain');
        }
    } else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }
    if (!http_request) {
        alert('Giving up :( Cannot create an XMLHTTP instance');
        return false;
    }
    http_request.onreadystatechange =  function() {
        if (http_request.readyState == 4) {
            if (http_request.status == 200) {
                eval(callback(http_request));
            }
            else {
                alert('Request Failed: ' + http_request.status);
            }
        }
    };

    if (postData) { // POST
        http_request.open('POST', url, true);
        http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');  
        http_request.setRequestHeader("Content-length", postData.length);
        http_request.send(postData);
    }
    else {
        http_request.open('GET', url, true);
        http_request.send(null);
    }
}

content-type:text/plainサーバーがヘッダーで応答することを確認してください

postdsataでそれを呼び出します:

var postdata = 'a=1&b=2';
ajaxLoad(serverUrl,myCallback,postdata);



function myCallback(req){
var txt = req.responseText;

// optional, if needed to evaluate JSON
    eval(txt);
}
于 2013-02-28T07:57:56.473 に答える