2015-08-18 3 views
0

У меня есть некоторые запросы ajax в моем коде jquery. и мой php-сервер должен решить, что делать. но я новичок в веб-программировании. Я не знаю, как вернуть точный ответ.Как получить точный ответ от ajax?

<script> 
    $(document).ready(function() { 
    $('#subButton').click(function() { 
     var query = "query"; 
     $.ajax({ 
     type: 'POST', 
     url: 'info.php', 
     datatype: 'text', 
     data: {query: query}, 
     complete: function (data) { 
      alert(data);// it returns the whole php page! 
     } 
     }) 
     .done(function (data) { 
      alert("done"); 
     }) 
     .fail(function() { 
      alert("Posting failed."); 
     }); 
    }); 
    }); 
</script> 

и есть мой PHP код

<?php 
if (isset($_POST[ 'music' ])) { 
    echo "music"; 
} 
if (isset($_POST[ 'query' ])) { 
    echo "query"; 
} 
if (isset($_POST[ 'url' ])) { 
    echo "url"; 
} 
?> 

в этом JQuery Я хочу просто слово "запрос" не вся страница. а также я хочу знать, как установить его в html через некоторые теги.

+0

, что расширение файла имеет свою страницу PHP? похоже, что это может быть '.html' – DevDonkey

+0

@DevDonkey .html да! – patric

+0

это будет поэтому. это должно быть '.php'. – DevDonkey

ответ

1

поэтому мы выяснили, почему ваша php-страница возвращает весь скрипт. Он имел расширение .html, а не .php. Без расширения php сервер просто отправит обратно всю партию.

как положить его в бирку? Вполне легко.

Предположим, у вас есть тег на странице, как это (обратите внимание на идентификатор):

<h2 id="main_heading">some heading</h2> 

все, что вам нужно сделать, это попросить JQuery, чтобы поместить ответ внутри него, как это.

complete: function (data) { 
     // select the object with the right ID and change its innerHTML 
     $('#main_heading').html(data); 
} 

это заменит содержимое <h2> с любой возвращается.

обновление

если Youre возникли проблемы, попытайтесь положить console.log вызов и проверить его с помощью браузеров консоли JavaScript, это должно показать вам, Что отправляется с сервера.

так:

complete: function (data) { 
     console.log(data); 


     // select the object with the right ID and change its innerHTML 
     $('#main_heading').html(data); 
} 
+0

, но у моего info.php больше нет тега .html. и расширение .html. Код jquery имеет расширение .html! – patric

+0

Im смущен. Что на самом деле происходит сейчас? – DevDonkey

+0

", поэтому мы выяснили, почему ваша php-страница возвращает весь скрипт. У него было расширение .html" , но у него нет расширения .html! :( – patric

Смежные вопросы