$.ajax(тип: POST-метод POST для php

Я пытаюсь использовать метод POST в jQuery для запроса данных. Итак, это код на странице html:

<form>
Title : <input type="text" size="40" name="title"/>
<input type="button" onclick="headingSearch(this.form)" value="Submit"/><br /><br />
</form>
<script type="text/javascript">
function headingSearch(f)
{
    var title=f.title.value;
    $.ajax({
      type: "POST",
      url: "edit.php",
      data: {title:title} ,
      success: function(data) {
        $('.center').html(data); 
      }
    });
}
</script>

И это код php на сервере:

<?php

$title = $_POST['title'];
if($title != "")
{
    echo $title;
}

?>

Запрос POST не производится вообще, и я понятия не имею, почему. Файлы находятся в одной папке в папке wamp www, поэтому, по крайней мере, URL не ошибается.

Ответ 1

Вам нужно использовать data: {title: title} для правильной отправки POST.

В коде PHP вам нужно echo значение вместо return ing.

Ответ 2

Проверьте, имеет ли название какое-либо значение или нет. Если нет, то извлеките значение с помощью Id.

<form>
Title : <input type="text" id="title" size="40" name="title" value = ''/>
<input type="button" onclick="headingSearch(this.form)" value="Submit"/><br /><br />
</form>
<script type="text/javascript">
function headingSearch(f)
{
    var title=jQuery('#title').val();
    $.ajax({
      type: "POST",
      url: "edit.php",
      data: {title:title} ,
      success: function(data) {
    $('.center').html(data); 
}
});
}
</script>

Попробуйте этот код.

В php-коде используйте echo вместо return. Только тогда данные javascript будут иметь свое значение.

Ответ 3

Id советует вам использовать более простой метод -

$.post('edit.php', {title: $('input[name="title"]').val() }, function(resp){
    alert(resp);
});

попробуйте этот, я просто чувствую, что его синтаксис проще, чем $.ajax one...

Ответ 4

попробуй это

$(document).on("submit", "#form-data", function(e){
    e.preventDefault()
    $.ajax({
        url: "edit.php",
        method: "POST",
        data: new FormData(this),
        contentType: false,
        processData: false,
        success: function(data){
            $('.center').html(data); 
        }
    })
})

в форме кнопка должна быть type="submit"

Ответ 5

contentType: 'application/x-www-form-urlencoded'