-2

JSON 経由でファイルから行を取得する AJAX 呼び出しがあります。データベースに 3M 行あり、結果を表示したいのですが、何も表示されません。

データが複数回要求された場合に再度要求を送信しないように、JSON 経由で取得した結果をキャッシュしたかったのです。jQuery でのキャッシュのベスト プラクティスは何ですか?

サーバー側でPHPを使用しています。任意の提案をいただければ幸いです。

私の JavaScript コード:

function GetSearchResult(Char,Company,Category,Country,Page)
{
    $.ajax({
        type: "POST",
        url: "CompanyResult.php",
        data: {
            mySearchChar : Char,
            mySearchCompany : Company,
            mySearchCategory : Category,
            mySearchCountry : Country,
            myPage : Page
              },
        cache: false,
        dataType : "html",
    beforeSend: function(){
        $("#Loading").show(); //show image loading 
        $('html, body').animate({scrollTop:$('#insid_body_web').offset().top}, 'slow');
        $("#ResultCompany1").hide(); 
        $("#ResultCompany2").hide();
        $("#ErrorSearch").hide(); 
    },
    complete: function(){
       $("#Loading").hide(); //hide image loading
       $("#ResultCompany1").show(); 
       $("#ResultCompany2").show();
       $("#ErrorSearch").hide(); 
    },
    success: function(data){
    $(".insid_body_web").html(data);
    $('html, body').animate({scrollTop:$('#insid_body_web').offset().top}, 'slow');
    $("#ResultCompany1").show();
    $("#ResultCompany2").show(); 
    $("#ErrorSearch").hide();
    $(".insid_body_web").css("min-height","1397px");
    },
    error: function() {
    $("#ErrorSearch").show();
    $("#ResultCompany1").hide();
    $("#ResultCompany2").hide(); 
    },
});
}

結果を取得するPHP関数:

public function selectallcompanydatabypagingbycat($char,$company,$cat,$country,$from,$records)
{
    $sql ="select company_CompName,company_Phone,company_Site,company_id 
    from company
    where
    company_delete ='0' 
    and company_Request = '0' ";
    if ($cat !=""){ $sql .= " and company_CompCat = '".$cat."' "; }
    if ($company !=""){ $sql .= " and company_CompName = '".$company."' "; }
    if ($country !=""){ $sql .= " and company_country = '".$country."' "; }
    if ($char !=""){ $sql .= " and company_CompName like '".$char."%' "; }
    $sql .= " order by company_id desc limit $from,$records";
    $query = @mysql_query($sql);
    return $query;
    mysql_free_result($query);

}
4

1 に答える 1

0

このようにajaxでデータを変更します

 data: {
            "mySearchChar" : Char,
            "mySearchCompany" : Company,
            "mySearchCategory" : Category,
            "mySearchCountry": Country,
            "myPage" : Page
              },

そして、CompanyResult.php

$cat = trim($_POST['mySearchCategory']);
$company = trim($_POST['mySearchCompany']);
$country = trim($_POST['mySearchCountry']);

...... 等々...

于 2013-05-04T09:57:04.853 に答える