2014-01-05 3 views
0

Как изменить параметр в файле PHP с помощью jQuery? Вот мой код, я не понимаю, почему, когда я нажимаю на кнопку значение для $val это не меняет:

<!DOCTYPE html> 
<html> 
<head> 
<script src="js/jquery-1.10.2.min.js"> 
</script> 
</head> 

<body> 
<script> 
$(document).ready(function(){ 
    $("button").click(function(){ 
    $("#test").hide(); 
    $.get("jqueryphp.php", { name: "John", time: "2pm" }); 
    }); 
}); 
</script> 
<h2>This is a heading</h2> 
<p>This is a paragraph.</p> 
<p id="test">This is another paragraph.</p> 
<button>Click me</button> 
<?php 
if(isset($_GET['time'])) $val=$_GET['time']; 
else $val='parametru ne transmis 0'; 
echo "<br>".$val."</br>" 
?> 

</body> 
</html> 
+0

Почему вы не подумайте, что это изменилось? Насколько я могу судить, вы ничего не делаете с возвращенными данными. – tymeJV

+0

- это страница 'jqueryphp.php'? Потому что, если это так, это не AJAX. –

+0

У вас не должно быть вашего PHP на на той же странице, что и на вашем JavaScript при использовании AJAX. – PHPglue

ответ

1

Проблема, кажется, здесь:

if(isset($_GET['time'])) $val0=$_GET['time']; 
else $val='parametru ne transmis 0'; 
echo "<br>".$val."</br>" 

Что $val0 против $val? Разве не все должно быть $val? Кроме того, последняя строка echo не имеет смысла. В конце линии нет ;. И что это такое: "<br>".$val."</br>"<br /> - это просто разрыв строки. Не элемент, который вы должны открыть & закрыть. Вы хотите, чтобы у него был разрыв строки до &? Я так полагаю. Вот моя очистка от этого. Должен работать:

if (array_key_exists('time', $_GET) && !empty(trim($_GET['time']))) { 
    $val = $_GET['time']; 
} 
else { 
    $val = 'parametru ne transmis 0'; 
} 
echo '<br />' . $val . '<br />'; 

Я также изменил if(isset($_GET['time'])) к чему-то более надежной. Потому что даже если установлено $_GET['time'], это не значит, что оно имеет значение.

+0

thx, но он не работает, я ожидаю, что после того, как я нажму кнопку, также измените свой $ val, чтобы сообщение «parametru ne transmis 0» изменилось с помощью « 2pm " –

+0

Это связано с тем, что jQuery изменяет HTML, а не PHP, поэтому эта страница просто не работает. – JakeGould

+0

после того, как я изменил код, я получаю эту ошибку« Неустранимая ошибка: нельзя использовать возвращаемое значение функции в контексте записи в C: \ xampp \ htdocs \ e-learning \ jqueryphp.php в строке 23 "....... $ GET ['time'] это не chnge значение $ val после нажатия кнопки? так что новое сообщение« 2pm «появиться на экране –

1

При загрузке страницы в браузере браузер запрашивает HTTP-запрос на сервер, получает ответ и отображает его.

Когда вы используете Ajax, браузер делает HTTP-запрос на сервер, получает ответ и делает его доступным для JavaScript.

не делает Редактировать текущую страницу автоматически. Эта страница уже получена в предыдущем ответе.

Вы должны написать JavaScript, чтобы использовать данные, которые он получает в ответ (с текущим подходом, это делается путем передачи функции в качестве третьего аргумента $.get к manipulate the DOM страницы.