0

OK、データベースからデータを取得するこの関数があります

 function ajaxd(){
      $.ajax({
       type: "GET",
       url: "getJackpot.asp?dx=<%=id%>",
       dataType: "text",
       data: "",
       success: function(data){
         Jackpot =data[0];

alert(data[0]);
       }
    });

以下は、getJackpot.asp の ASP コードです。

    Dim rs, sql, varJackpot 

    set rs=Server.CreateObject("ADODB.RecordSet")
    sql = "select JackpotAmt from tblJAckpots where id = " & request("dx")
    rs.open sql, objConn, 3,2
        if not rs.EOF then
            varJackpot = cStr(rs("JackpotAmt"))
        else
            varJackpot = "Not Active"
        End If
    response.write varJackpot

上記の jquery スクリプトがメイン ページで実行されると、返された data[0] には、返された値の最初の桁のみが含まれます。実際の値は 6420.23 ですが、アラート機能は 6 のみを表示し、残りは無視します。私は何が欠けていますか?私は dataType を疑っていますが、よくわかりません。

注:ブラウザーで getJackpot.asp を実行すると、上記の正しい値がエラーなしで返されます。

4

2 に答える 2

1

これを試して、

ジャックポット = データ;

data[0] は String 入力の最初の文字を与えると思います。

于 2013-03-04T10:29:10.263 に答える
0

私は ASP の専門家ではありませんが、あなたのコードで奇妙に感じたことがいくつかあります。

  1. GETまず、 URL パラメーターを送信してリクエストを送信しないでください。代わりに、dxパラメーターをパラメーターの値として渡します。これは、AJAX 要求を処理するコードで変数dataとして使用できます。POST(あなたにとって何がうまくいくかによって異なります!)

  2. 次に、値を出力した後に実行を強制終了する必要があると思います。この方法exitは、AJAX の出力を出力した後に PHP で使用されます。

  3. 変数のデータ型を確認してくださいJackpot。JSON としてエンコードする必要があると思います。JS 側では、 を使用して元の値を取得できます$.parseJSON

これらの手順を試してみてください。問題が解決するかもしれません!

于 2013-03-04T10:14:56.517 に答える