2013-05-22 2 views
0

Я использую функцию PHP для отображения геофонов. Я хочу передать переменную javascript в php-функцию в том же файле без обновления страницы.Передать переменную javascript в php-функцию с помощью ajax в том же файле без обновления страницы

function load(id,type){ 
if(type===2){ 
    window.location.href="basic.php?idd=" + id; // i want to change code here 

<?php 
    $cir = get_fence_by_type($_GET['idd']); 
    if($cir) { 
    foreach($cir as $row){ 
    $fence_id = $row['geo_id']; 
    } 
} 
?> 

функция РНР:

function get_fence_by_type($id){ 
    $query = "Select * from geofence where geo_id=".$id; 
    $result = pg_exec($query); 
    $d = array(); 
    while($myrow = pg_fetch_assoc($result)) { 
     $d[] = $myrow; 
    } 
    return $d; //returns result in array 
} 

Javascript window.location.href передает значение функции PHP яваскрипта но перезагружает страницу также.

+4

Привет, читать на AJAX. Это технология, которую вам нужно будет использовать. –

+1

в том же файле без обновления страницы AJAX! – Abadis

+0

Он упоминал AJAX в названии вопроса. Возможно, они должны были быть более конкретными в теле вопроса. – Jared

ответ

1

Если вы используете jQuery, вы можете использовать $.ajax(). Он позволяет отправлять данные на ваш сервер и делать что-то с ответом.

Например:

$.ajax({ 
    type: 'POST', 
    data: myvar 
    success: function(Response) { console.log(Response); } 
}); 

отправит myvar на сервер (с небольшим количеством тонкой настройки параметров курса) и войти все, что сервер отправляет обратно в консоль браузера.

Have a read Что вы можете сделать с помощью jQuery.

+0

Я хочу передать переменную javascript в php-функцию в том же файле. –

+0

Для этого нужен AJAX. Он позволяет передавать данные JavaScript (например, строку) на ваш сервер. JavaScript и PHP - это совершенно разные технологии, но есть способы их передачи так же, как вы загружаете веб-страницу. – Jared

+0

спасибо, стоит прочитать про ajax. –

0

Вы можете сделать это с помощью jQuery. В основном вы не обновляете страницу, вы просто выполняете асинхронный запрос на сервер и получаете ответ. В следующем примере ответ отображается в поле предупреждения.

Ваш "индекс" Файл:

function load(id,type) 
{ 
    $.post("basic.php", { idd: idd }, function(data){ 
      alert(data); 
    }); 
} 

и basic.php

<?php 

function get_fence_by_type($id){ 
$query = "Select * from geofence where geo_id=".$id; 
$result = pg_exec($query); 
$d = array(); 
while($myrow = pg_fetch_assoc($rs)) { 
    $d[] = $myrow; 
} 
return $d; 
} 
$cir = get_fence_by_type($_GET['idd']); 
if($cir) { 
foreach($cir as $row){ 
$fence_id = $row['geo_id']; 
} 
} 
?> 
+0

нет индекса file.all код написан в basic.php. –

+1

Не можете ли вы создать переименование файла в basic2.php, например, и вставить там php-код и оставить javascript в файле basic.php? – Deepsy

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