Я хочу передать некоторые значения из JavaScript в PHP с помощью jQuery / AJAX. У меня есть следующий «упрощенный» код, не уверен, что я делаю неправильно. Кажется, что в StackOverflow довольно много похожих вопросов и ответов, но ни одна из них не помогает.
HTML:
<div> <a href="#" id="text-id">Send text</a> <textarea id="source1" name="source1" rows="5" cols="20"></textarea> <textarea id="source2" name="source2" rows="5" cols="20"></textarea> </div>
JAVASCRIPT:
$("#text-id").click(function() { $.ajax({ type: 'post', url: 'text.php', data: {source1: "some text", source2: "some text 2"} }); });
PHP (text.php):
<?php $src1= $_POST['source1']; $src2= $_POST['source2']; echo $src1; echo $src2; ?>
Проблема: ничего не происходит … никаких ошибок … ничего. Я не вижу значений 'source1' и 'source2', отображаемых в инструкциях PHP echo.
Вы должны включить обработчик успеха в свой вызов AJAX:
$("#text-id").on( 'click', function () { $.ajax({ type: 'post', url: 'text.php', data: { source1: "some text", source2: "some text 2" }, success: function( data ) { console.log( data ); } }); });
и в консоли вы получите:
some textsome text 2
Убедитесь, что оба файла test.php
и ваши исходные файлы html находятся в одном каталоге.
$("#text-id").click(function(e) {// because #text-id is an anchor tag so stop its default behaivour e.preventDefault(); $.ajax({ type: "POST",// see also here url: 'text.php',// and this path will be proper data: { source1: "some text", source2: "some text 2"} }).done(function( msg ) { alert( "Data Saved: " + msg );// see alert is come or not }); });
ссылка ajax