Пытается передать переменные значения с JavaScript на PHP с помощью AJAX
Я хочу передать некоторые значения с 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.
Ответы
Ответ 1
В вызове 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 находятся в одном каталоге.
Ответ 2
$("#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