0

基本的には、自分のサイトに投稿が送信されたときに、ページが変更されないようにAJAXを使用して投稿を送信し、AJAX投稿が成功した場合は、その投稿をすべて取得するようにしています。 MySQLのユーザーであり、ページに書き込みます。

私の問題は、ブラウザ(Chrome、IE)がAJAXリクエストを完全に無視していることです。

私のフォーム:

<div id="updatestatus">
                    <form action="" method="post" id="ps">
                        <textarea name="status" id="status"></textarea>
                        <input type="hidden" name="uid" id="uid" value="<?php echo $uid; ?>" />
                        <input type="submit" id="poststatus" name="poststatus" value="Share" />
                    </form>
                </div>

私のAJAXリクエスト:

$(function() {  
$("#poststatus").click(function() {  
    var status = $("textarea#status").val();  

    if (status == "") {  
    return false;  
    }

    var uid = $("input#uid").val();  
    var dataString = 'status='+ status + '&uid=' + uid;  

    $.ajax({  
        type: "POST",  
        url: "updatestatus.php",  
        data: dataString,  
        success: function() {  
            $.ajax({                                      
                url: 'ajax/query.php',         
                data: "uid=<?php echo $uid; ?>",        
                dataType: 'json',                
                success: function(data) {
                    var status = data[0];              
                    var sid = data[1];          
                    $('#mainprofile').html("<div id='statuses'><p>"+status+"</p></div>);
                    return false;  
                }  
            });  
        return false;  
        });  
    });
});
});

私のajax/query.phpリクエスト

<?php 

  //connect stuff

    $uid = strip_tags(stripslashes(htmlspecialchars(htmlentities(mysql_real_escape_string($_GET['uid'])))));

  $result = mysql_query("SELECT * FROM mingle_status WHERE uid = '$uid' ORDER BY timestamp DESC");          //query
  $array = mysql_fetch_row($result);                          //fetch result    
  echo json_encode($array);

?>

助けてくれてありがとう-ジョー

4

2 に答える 2

0

JSコードのこのセクション

$.ajax({  
    type: "POST",  
    url: "updatestatus.php",  
    data: dataString,  
    success: function() {  
        $.ajax({                                      
            url: 'ajax/query.php',         
            data: "uid=<?php echo $uid; ?>",        
            dataType: 'json',                
            success: function(data) {
                var status = data[0];              
                var sid = data[1];          
                $('#mainprofile').html("<div id='statuses'><p>"+status+"</p></div>);
                return false;  
            }  
        });  
    return false;  
    });  
});

最後のreturnfalseに続く中括弧の後の終了括弧を削除する必要があります。

$.ajax({  
        type: "POST",  
        url: "updatestatus.php",  
        data: dataString,  
        success: function() {  
            $.ajax({                                      
                url: 'ajax/query.php',         
                data: "uid=<?php echo $uid; ?>",        
                dataType: 'json',                
                success: function(data) {
                    var status = data[0];              
                    var sid = data[1];          
                    $('#mainprofile').html("<div id='statuses'><p>"+status+"</p></div>");
                    return false;  
                }  
            });  
        return false;  
        };  
    });
于 2012-06-21T21:37:59.857 に答える
0
Try this

$(function() {  
$("#poststatus").click(function() { 
    var status = $.trim($("#status").val());  

    if (status == "") {  
    return false;  
    }

    var uid = $("#uid").val();  
    var dataString = 'status='+ status + '&uid=' + uid;  

    $.ajax({  
        type: "POST",  
        url: "updatestatus.php",  
        data: dataString,  
        success: function() {  
            $.ajax({                                      
                url: 'ajax/query.php',         
                data: "uid="+<?php echo $uid; ?>,      
                dataType: 'json',                
                success: function(data) {
                    var status = data[0];              
                    var sid = data[1];          
                    $('#mainprofile').html("<div id='statuses'><p>"+status+"</p></div>);
                    return false;  
                }  
            });  
        return false;  
        }  
    });
});
});
于 2012-06-22T07:34:47.227 に答える