Я не знаю, я просто тупой. Я пытался понять это в течение последних 1 часа. Пожалуйста помоги!!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> <script src="jquery.js" type="text/javascript"></script> </head> <body> <div id="box" ></div> <div id="box2"></div> <script type="text/javascript"> $(function(){ $('#box').html("Test"); //$('#box').attr('name','Indy'); //var a= $('#box').attr('name'); $.post(window.location, {name: 'John'}); }); </script> </body> </html> <?php print_r($_POST); ?>
Как передать значение? Я знаю, что это работает, если php находится в другом файле. Но здесь это не так.
Вы не увидите результаты запроса, потому что $.post()
и все функции AJAX выполняются в фоновом режиме, что не обновляет страницу.
Что касается публикации на текущей странице, просто используйте расположение окна:
$.post(window.location, {name: 'John'}, function(data) { alert('POST was successful. Server says: ' + data); });
$ .post – это асинхронная публикация одного и того же файла php. Вы не увидите ничего в теле вашей страницы, потому что
<?php print_r($_POST); ?>
Является после </html>
.
Если вы хотите отправить что-то в файл php, а затем обработать его и показать результаты на странице, просто создайте форму, которая фактически является POST-файлом в php-файле. AJAX не всегда правильный ответ.
вы можете попробовать вставить это в свой код javascript:
$('some_button').click(function(){ window.location = "http://your_site/page.php?name=John&var2="+param2; });
что этот код делает, добавляет некоторый параметр в url, и вы можете получить доступ к этому на вашей php-странице с помощью GET. например:
if(isset($_GET['name'])){ echo $_GET['name']; }