簡體   English   中英

我的返回函數不適用於我的jQuery ajax

[英]My return functions isn't working with my jQuery ajax

我有這個:

$("#upvote").click(function(){
    var up = parseInt(document.getElementById('voteScore').innerHTML);
    up++;
    document.getElementById('voteScore').innerHTML = up;
    $.ajax({
            type: 'POST',
        url: 'include/mysql_lib.php',
        data: {'data[]':['upvote','<?php echo $id; ?>', '<?php echo $uid; ?>']},
        dataType: "text",
        success: function(dataType) {
                if (dataType == "false") {
                    var up = parseInt(document.getElementById('voteScore').innerHTML);
                    up--;
                    document.getElementById('voteScore').innerHTML = up;
                }
        }
    });
});

mysql_lib.php文件(如果發現錯誤)具有如下一行:

return "false";

我究竟做錯了什么? 我以前從未使用過jQuery。

AJAX函數的服務器響應(代碼中的'dataType'變量)存儲將PHP腳本寫出到服務器的內容。 在您的PHP腳本中,如果return "false" ,它將從函數返回一個字符串,但是,如果您想在JavaScript中獲取值,則應使用echo "false"以便服務器的JavaScript響應為false

function test() {
    //do some work
    return "false";
}
echo test();//this will output "false" to the browser

function test() {
    echo "false";//this will output "false" to the browser
}

當遇到這樣的問題時,最好將console.log(dataType)alert(dataType)放入AJAX回調函數中,以查看PHP輸出的內容。 您的PHP腳本的響應也可以在大多數開發人員工具(如FireBug)中查看。

和一個建議。 如果要開始從PHP腳本輸出更復雜的信息,請查看PHP json_encode()函數,該函數使PHP和JavaScript之間的通信變得輕松自如。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM