Intereting Posts

Как установить значение POST для PHP на одной странице с помощью jQuery

Я не знаю, я просто тупой. Я пытался понять это в течение последних 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']; }