2016-10-25 4 views
0

Я создал веб-страницу с выпадающим меню. Идея заключается в том, что при нажатии любой опции выпадающего меню открывается файл produccion.php с параметром POST «edicion». Этот параметр я использую для выполнения запроса в базе данных.jquery Опубликовать значение на веб-странице PHP

В настоящее время проблема заключается в том, что это открой produccion.php, но я думаю, что не POST значения переменного кода

Jquery:

$('#drEdicion a').click(function(event){ 
     alert($(this).text()); 

     var ed = $(this).text(); 

     $.ajax({ 
      url:"produccio.php", 
      type:"POST", 
      data:{edicion: ed}, 
      dataType:"text", 
      success:function(data){ 
       window.location.href = 'produccio.php' 
      } 
     });  

    }); 

это возможно что проблема в том, когда она отправляется через ajax?

Заранее спасибо.

+1

Сначала вы отправляют ajax в файл produccio.php, а затем снова перенаправляют страницу в файл produccio.php ... Где логика ?! Кроме того, когда вы второй раз переделываете страницу to produccio.php, тогда, конечно, нет данных POST, потому что во второй раз вы не отправляете никаких данных POST:/ – nospor

+0

@nospor Мне нужно только отправить время, как это сделать? – ruzD

+1

Удалить это 'window.location.href = 'produccio.php'' – nospor

ответ

1

Ваш код в настоящее время POST ИНГ содержание гиперссылке к produccio.php через AJAX. Когда этот вызов завершается, он перенаправляет пользователя на ту же страницу, но без значения POST. Основываясь на ваших комментариях:

Я хочу открыть файл produccion.php после выбора в раскрывающемся меню. С помощью этой опции я сделать запрос

он появляется на самом деле вы хотите открыть produccio.php со значением POST ЕДА в браузере.

К самому простому решению проблемы было бы изменить PHP-код, чтобы принять значение edicion из $_GET["edicion"] вместо этого, и выхода вашей гиперссылки как:

<a href="produccio.php?edicion=...">...</a> 

Это также обеспечит лучший опыт для пользователей, особенно если у них есть проблемы с JavaScript (или, например, это поисковая система). Тем не менее, если вы установите на только с помощью $_POST, следующий код может - я не проверял это сам - это позволит:

$('#drEdicion a').click(function(event){ 
    event.preventDefault(); 

    var ed = $(this).text(); 
    $('<form action="produccio.php" method="POST">' + 
      '<input type="hidden" name="edicion" value="' + ed + '" />' + 
      '</form>').appendTo('body').submit(); 
}); 

(с кредитом к началу ответа на Dynamically create and submit form)

0

Следуйте сильфона код:

$('#drEdicion a').click(function(event){ 
     //alert($(this).text()); 
     event.preventDefault(); 
     var ed = $(this).text(); 

     $.ajax({ 
      url:"produccio.php", 
      type:"POST", 
      data:{edicion: ed}, 
      dataType:"html", 
      success:function(data){ 
       //#dropdown-menu id show all produccio.php data 
       $("#dropdown-menu").html(data); 
      } 
     });  

}); 

produccio.php

<?php 
    $edicion = $_POST['edicion']; 
    //now you can able to access edicion post param 
?> 

HTML как это:

<div id="dropdown-menu"></div>