0

$.post当我使用php 文件时,遇到了一些奇怪的问题。没有任何帖子的文件本身会回显“someresult”,当我去 $.post 时,帖子数据的 html() 为空......请帮助

$('#podborform').submit(function(){
    var phone = $('#tour_selection_phone').val();
    if(phone != null && phone != '' && phone.length >= 7){
        var values = $(this).serialize();
        var qwer = String('captcha');
        var url = $(this).attr( 'action' );
        $.post( url, values,
            function( data ) {
                var content1 = $( data ).html();
                //content = String(content);
                //alert(qwer+'  -  '+content);
                if(content1 == qwer){
                    alert('Вы не правильно ввели код с картинки, попробуйте еще раз!');
                }
                if(content1 == 'false'){
                    alert('Извините произошла ошибка!');
                }
                if(content1 == 'true'){
                    alert('Ваша заявка успешно отправлена!');
                }
            }
        );
    }else{
        alert('Вы не ввели все обязательные поля!');
    }
    return false;
});

它连接到包含以下内容的php:

<?php
class mailer{
    //var $fields = array();
    function __construct(){
        if($this->captcha()){
            $this->sendmail();
        }else{
            exit('false');
        }
    }
    function sendmail(){
        foreach($_POST as $key=>$post){
            $text .= $key.': '.$post.PHP_EOL;
        }
        if(mail("123@gmail.com", "the subject", $text,
            "From: sales@123.ru\r\n"
           ."Reply-To: {$_POST['email']}\r\n"
           ."X-Mailer: PHP/" . phpversion())){
                exit('true');
            }else{
                exit('false_mail');
        }
    }
    function captcha(){
        require_once('recaptchalib.php');
        $privatekey = "123123";
        $resp = recaptcha_check_answer ($privatekey,
                                      $_SERVER["REMOTE_ADDR"],
                                      $_POST["recaptcha_challenge_field"],
                                      $_POST["recaptcha_response_field"]);

        if (!$resp->is_valid) {
          // What happens when the CAPTCHA was entered incorrectly
          echo 'captcha'; exit;
        } else {
            unset($_POST["recaptcha_challenge_field"],
                                      $_POST["recaptcha_response_field"]);
          return true;
        }
    }
}
    $mail = new mailer;
?>
4

2 回答 2

1

您忘记了对象邮件程序构造上的 () :

$mail = new mailer;

应该

$mail = new mailer();
于 2012-07-18T07:27:00.497 回答
1

.html获取包含的HTML。

例子

$('<div><img/></div>').html() // returns '<img/>'
$('test').html() // returns null

你可以data直接使用。它将包含作为字符串的响应

if(data == qwer){
}
if(data == 'true'){
}
于 2012-07-18T07:28:05.823 回答