簡體   English   中英

Ajax函數返回總是錯誤

[英]Ajax function return always error

我需要將一些值傳遞給PHP文件,並從中將一些值返回給原始腳本。 我寫了這段代碼。

$(document).ready(function() {
    var value = $('#myId').val();
    $('.myClass').click(function() {
        var request = $.ajax({
            type:   'POST',
            url:    'getinfo.php',
            data:   {fileIs: value},
            success: function(data) {
                alert(data);
            },
            error: function() {
                alert("Error"); 
            }
        });

        });   
    });

getinfo.php就像:

mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("my_db") or die(mysql_error());

if(isset($_REQUEST['fileIs'])) {
    $file = mysql_real_escape_string(htmlentities($_POST['fileIs']));
    $value = mysql_query("SELECT * FROM files WHERE filename = '".$file."' ");
    while($row = mysql_fetch_array($value)) {
        echo $row['fileTitle']; 
    }       
}

當我執行腳本php AJAX函數時,始終返回寫有“錯誤”且自動消失的警報。 我該如何解決這個問題? 我的目標是將“值”變量內容發送到PHP文件並從中獲取響應,以使數據庫中的內容與“值”內容相對應。

Ajax函數無法確定返回的數據類型,因為您沒有在php代碼中設置http響應的標頭。 在while循環之前添加以下內容將有所幫助:

header("Content-type: text/plain; charset=utf-8");

文檔: http : //php.net/manual/en/function.header.php

getinfo.php中嘗試json_encode

mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("my_db") or die(mysql_error());

if(isset($_REQUEST['fileIs'])) {
$file = mysql_real_escape_string(htmlentities($_POST['fileIs']));
$value = mysql_query("SELECT * FROM files WHERE filename = '".$file."' ");
while($row = mysql_fetch_array($value)) {
         $result = $row['fileTitle']; 
                        }       
}
echo json_encode($result);  or  //use one
return $result;                 //optional

暫無
暫無

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

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