объект Object parsererror SyntaxError: JSON.parse: неожиданный конец данных в строке 2 столбца 1 данных JSON - PullRequest
0 голосов
/ 08 апреля 2019

У меня есть скрипт, который экспортирует измерения по потре от пользователей в геойсонформат.После этого я пытаюсь опубликовать эти геоджоновские данные из "Potree" в моей базе данных (postgresql).Во-первых, я использую ajax-запрос «Опубликовать» на моей странице php.Но это продолжает посылать мне эту ошибку.

function export_to_postgis(){
        var measurement=viewer.scene.measurements[0];
        var geojsonString = Potree.GeoJSONExporter.toString(measurement);
        alert(geojsonString);

//var geojson = JSON.parse(geojsonString); // I already try to parse it but it gives me the same result

        $.ajax({
          url: 'export_to_postgis.php',
          data: 'geojsonString',
          dataType: 'json',
                async: false,
          type: "post",
          success: function (geojsonString, status, xhr) {
                                alert('Data Send');
                                alert(geojsonString + " " + status + " " + xhr); // n'affiche rien

          },
                error: function (req, status, error) {
                        alert(req + " " + status + " " + error);
                }
        });

Мои данные геойсон:


{
    "type": "FeatureCollection",
    "features": [
        {
            "type": "Feature",
            "geometry": {
                "type": "Point",
                "coordinates": [
                    494306.5990009308,
                    5419823.199999809,
                    297.87900018692017
                ]
            },
            "properties": {
                "name": "Point"
            }
        }
    ]
}

Эта работа, но это не то, что мне нужно

function export_to_postgis(){
        var measurement=viewer.scene.measurements[0];
        var geojsonString = Potree.GeoJSONExporter.toString(measurement);
        alert(geojsonString);
        //alert(typeof geojsonString); // String

        var geojson = JSON.parse(geojsonString); // String to object


var x = geojson.features[0].geometry.coordinates[0]; // Coordonnées en X
        var y = geojson.features[0].geometry.coordinates[1]; // Coordonnées en Y
        var z = geojson.features[0].geometry.coordinates[2]; // Coordonnées en Z
        var name = geojson.features[0].properties["name"]; // Point

$.ajax({
            type: "POST",
            url: 'export_to_postgis.php',
            //dataType: "text", // json ==> ne fonctionne pas
            //data: geojson,//JSON.stringify(geojson),
            //data: {'geojson' : $('#geojson').val() },
            data: {"name": name, "x": x, "y": y, "z": z},
            success: function (data, status, xhr) {
                            alert('Data Send');

        },
            error: function (req, status, error) {
                    alert(req + " " + status + " " + error);
            }
    });


...