2014-07-14 2 views
-1

Я хочу загрузить данные из базы данных. «output» должен быть загружен, который содержит некоторые данные о координатах Geofence и добавляется к карте. Здесь нагрузка Функция:Функция загрузки jQuery не работает

  jQuery("#submitButtonLoad").click(function() { 

       /*the jQuery.ajax gets openend*/ 
       jQuery.ajax({ 
        /*typ POST gets defined*/ 
        type: "POST", 
        /*the PHP file that receives the POST*/ 
        url: "parsernew.php", 
        /*the data that gets transfered*/ 


        success: function(html){ //so, if data is retrieved, store it in html 

        var vectorOutput = jQuery("#output").val(); 
        var vectorName = jQuery("#vectorName").val(); 

        jQuert('#output').html(); 

        } 
       }); //close jQuery.ajax(
      }); 

Это также parsernew.php, которые получают требуемые данные из базы данных. Соединение выполняется с помощью config.php:

<?php  
session_start();  
print_r($_SESSION);  

/*if the id parameter is not set an error occures*/  
if (!isset($_SESSION['id'])) {  
/*ajax request/abfrage, check.....*/  
echo 'the user id is missing';  
die();  
}  
/*if the id parameter is set else gets executed*/  
else  
{  
/*the id of the user gets requested*/  
$id=$_SESSION['id'];  
/*the parameters get requested and saved into local variables*/  
$vector  = ($_POST['vector']);  
$name  = ($_POST['name']);  
echo $id;  
echo $vector;  
echo $geofence;  
/*the config.in.php is called*/  
/*this programms opens the conncetion to the database*/  
include('config.php');  
/*the SELECT query gets created*/  
$eintrag = "SELECT (geofencename,geometry,fk_user_geofence) VALUES ('$name','$vector','$id') FROM public.geofence";  

/*the above mentioned query gets executed  
--> this always executes a query, no matter what kind */  
$eintragen = pg_query($eintrag);  

/*if the query is not correct an error occures*/  
if (!$eintrag) {  
     die("Error in SQL query: " . pg_last_error());  
    }   
}  
?>  

Может кто-нибудь, пожалуйста, скажите мне, где проблема? Мне нужно загрузить вывод на карту.

Эта часть редактируется. Это мои Сохранить функция, которую я хотел запрограммировать функцию нагрузки на его основе:

 /* SAVE BUTTON */ 
     jQuery(document).ready(function(){ 

      /*if the submit Button gets clicked this function is called*/ 
      jQuery("#submitButton").click(function() { 

       /*the text of the html field output and vectorName are stored into javascript variables 
       vectorOutput 
       VectorName*/ 
       var vectorOutput = jQuery("#output").val(); 
       var vectorName = jQuery("#vectorName").val(); 

       /*the jQuery.ajax gets openend*/ 
       jQuery.ajax({ 
        /*typ POST gets defined*/ 
        type: "POST", 
        /*the PHP file that receives the POST*/ 
        url: "parser22.php", 
        /*the data that gets transfered*/ 
        data: { 
         /*vector: contains the geometric information of the overlay, in kml format*/ 
         vector: vectorOutput, 

         /*name: contains the chosen name of the geofence*/ 
         name: vectorName 
        }, 
        success: function(html){ //so, if data is retrieved, store it in html 
         /*if the save button gets clicked the field with the geofencename */ 
         jQuery("#output").val(''); 
         /*and kml koordinates get emptied*/ 
         jQuery("#vectorName").val(''); 
         /*to show the user that it worked alert Window pops up*/ 
         alert("Geofence successfully saved!"); 
        } 
       }); //close jQuery.ajax(
      }); 
     // }); 
+0

Вы уверены, что ваш запрос выбран? – nsthethunderbolt

+0

** Должен быть загружен «вывод», который содержит некоторые данные о координатах Geofence и добавляется к карте **. Что это значит? ** «поэтому, если данные извлекаются, храните их в html» ** И НЕ НИЧЕГО С НИМ. – PeterKA

+0

Я не уверен, что я просто подумал, что SELECT FROM может работать. У вас есть идея? – user3834704

ответ

0

ли пользователь базы данных, исполняемый запрос имеют соответствующие привилегии для чтения? Также я предполагаю, что здесь есть только опечатка, а не в вашем рабочем коде?

jQuert('#output').html(); 

EDIT 1:

трудно понять, что именно вы пытаетесь достичь. Кстати она является более гибкой и предпочитает делать что-то подобное с сделано вместо успеха:

jQuery.ajax({ 
     // config 
    }).done(function(data){ 
     // do something with data 
     jQuery('#output').html(data); 
    }); 

EDIT 2:

Глядя на ссылку пример CRUD в комментариях ниже, структура, как нагрузка по сравнению сохранить операции - это в основном то, что я выводил из того, чего вы пытаетесь достичь. Метод post - это более конкретный метод, поэтому при необходимости замените его ajax. Постарайтесь максимально использовать код DRY (Do not Repeat Yourself) в своем коде. В этом случае можно использовать обычный метод загрузки, а затем после вызова метода сохранения.

+0

Тогда что должно быть в успехе: вместо этого функция? Я редактировал свой вопрос и добавлял функцию сохранения, которая работает. Я хотел создать функцию загрузки на основе функции сохранения. – user3834704

+0

Помогает ли это в любом случае? – Rai

+0

var vectorOutput = jQuery ("# ​​output"). Val(); . JQuert ("# выход") HTML (vectorOutput); Я изменил все, как вы сказали. Но, к сожалению, это не сработает. – user3834704

0

Код внутри success не имеет смысла. И даже если бы это было, есть опечатка: jQuert. Я думаю, вы хотите что-то вроде:

success: function(html){ 
      var foo = doSomething(html); 
      jQuery('#output').html(foo); 
     } 
+0

Я только что редактировал свой вопрос и добавил функцию сохранения. Не могли бы вы основать на этом руководстве более точное то, что должно быть в успехах: функция? – user3834704

+0

Простите, я не понимаю, что вы пытаетесь сделать. Очевидно, вы хотите каким-то образом использовать полученный 'html', но сейчас вы только очищаете некоторые поля. –

+0

Тогда как я могу загрузить OUTPUT на основе моей функции сохранения? – user3834704

Смежные вопросы