2012-06-07 19 views
9

Próbuję użyć metody POST w jQuery, aby złożyć zamówienie danych tak, jest to kod na stronę 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> 

i to jest kod PHP na serwerze.

<?php 

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

?> 

żądanie POST nie jest wykonany w ogóle i nie mam pojęcia, dlaczego pliki są w tym samym folderze, w folderze wamp www tak przynajmniej ISN url Złe.

+1

'return $ tytule;' nie wydrukuje niczego w PHP, potrzebujesz 'echo $ title;'. – MrCode

+0

jakie są błędy z frontowego wywołania ajax? –

+1

Użyj Firebug lub podobnego do oglądania, aby sprawdzić, czy w ogóle jest jakieś żądanie. – MrCode

Odpowiedz

8

Musisz użyć data: {title: title}, aby POST poprawnie.

W kodzie PHP należy podać wartość echo zamiast wartości return.

+0

Dobrze zrobiłem te poprawki, ale nic się nie zmieniło – user1201915

+0

@ user1201915 udało ci naprawić problem? – Zame

2

Sprawdź, czy tytuł ma jakąś wartość, czy też nie. Jeśli nie, pobierz wartość, używając 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> 

Spróbuj tego kodu.

W kodzie php użyj echo zamiast return. Dopiero wtedy dane javascript będą miały swoją wartość.

+0

Tytuł ma wartość, próbowałem alert (tytuł); – user1201915

+0

Dzięki za kod, który napisałem w miejscu starego, ale niestety to nie pomogło. – user1201915

+0

proszę sprawdzić zaktualizowaną odpowiedź .. Czy to pomaga? –

0

Id rada, aby stosować metodę nieco prostsza -

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

próbować ten jeden, ja po prostu czuje się jego składnia jest prostsza niż $ .ajax jedna ...

+0

Próbowałem go nawet przed zapisaniem do przepełnienia stosu. Próbowałem twojego kodu, ale mimo to bez zmian, dziękuję. – user1201915

+0

więc co robi, nic nie ostrzega? Czy w ogóle nie alarmuje? – manWe

+0

Nie alarmuje wcale, po prostu nic .. – user1201915