1

このコードは一体どうなっているのですか?

    $(".submit").click(function(){
    alert("clicked");
    var name = $(".name").val();
    var email = $(".email").val();
    var comment = $(".comment").val();
    var articleId = $(".articleId").val(); 
    var dataString = 'name='+ name + '&email=' + email + '&comment=' + comment+ '&articleId=' + articleId;
    if(name=='' || comment==''){
        alert('Please Give Valid Details');
    }
    else{
        alert('so far so good');
        $.ajax({
            type: "POST",
            url: "../_includes/process.php",
            data: dataString,
            cache: false,
            success: function(){
                alert("succes");
                $(".updating").fadeIn(400);
            }
        });
    }
});

process.php が見つかるまですべてが機能し$.ajax、コードを読み取って実行する代わりに、実際にブラウザーでそのページに移動します。ajax呼び出しの後に使用しようとしreturn falseましたが、process.phpのコードは決して起こりません。

ここにprocess.phpがあります

    <?php 
    // code to establish connection first

    if($_POST){
    $name=$_POST['name'];
    $name=mysql_real_escape_string($name);

    $email=$_POST['email'];
    $email=mysql_real_escape_string($email);

    $comment=$_POST['comment'];
    $comment=mysql_real_escape_string($comment);

    $articleId=$_POST['articleId']; 
    $articleId=mysql_real_escape_string($articleId);

    if(!empty($email)){
            $lowercase = strtolower($email);
    }

    $result = mysql_query("INSERT INTO comments(name,email,comment,articleId) VALUES ('$name','$email','$comment','$articleId')");

    if($result){
            echo "success";
    } else {
            echo "there were erros" . mysql_error();
    }
    exit;

    ?>

どんな助けでも大歓迎です。

4

2 に答える 2

4

送信ボタンのデフォルト アクションを防止する必要があります。

$(".submit").click(function(e) {
    e.preventDefault();
    alert("clicked");
    ...
});
于 2012-10-05T16:10:15.733 に答える
1

正常に機能したことを知りたい場合は、process.phpから何かをエコーアウトする必要があります。

例えば

echo 'success';
exit; // just incase

次に、ajaxリクエストで

success: function(response){
            if (response == 'success') {
                alert("success");
                $(".updating").fadeIn(400);
            }
            else {
                alert('error');
            }
        }

エコーアウトしていなくても、process.phpは機能するはずです。

それでも機能しない場合は、エラーレポートをオンにしてみてください。

error_reporting(E_ALL);
ini_set('display_errors', 'On');
于 2012-10-05T16:35:57.210 に答える