У меня проблема при отправке captcha для проверки по php. Я отправляю строку captcha_value
в файл captcha_check.php, и я не знаю, как получить возвращаемое значение «true» или «false»,
$("#myForm").submit(function() { $.ajax({ type: "POST", url: '/captcha_check.php', data: captcha_value success: function(data) { **?WHAT TO DO HERE? how to get true or false** } }); captcha_check.php <?php if ($_POST['captcha'] == $_SESSION['captcha']) echo 'true'; else echo 'false'; ?>
Я устанавливаю заголовок для вывода в виде xml.
captcha_check.php
<?php header('Content-Type:text/xml');//needed to output as xml(that is my choice) echo "<root><message>"; if ($_POST['captcha'] == $_SESSION['captcha']) echo 'true'; else echo 'false'; echo "</message></root>"; ?> $("#myForm").submit(function() { $.ajax({ type: "POST", url: '/captcha_check.php', dataType:'xml', data: captcha_value success: function(data) { if($(data).find('message').text() == "true"){ //now you get the true. do whatever you want. even call a function } else{ //and false } } });
это мое решение, вероятно, работает и на вас. Я всегда предпочитаю xml для общения. Это мой выбор.
$.ajax({ type: "POST", url: '/captcha_check.php', data: captcha_value, dataType: "text", success: function(data) { if(data == "true") { // correct } else { // nope } } });
dataType: 'json', //Important:Sometimes JQuery fails to automatically detect it for you. success: function(data) { console.log(data ? "Data is true" : "Data is false"); }