1

私は非常に混乱しています。:)

私はAjaxを使用して、phpを介してmysqlから日付を取得しています。

JS:

function toDb2(datastr,callback){
    $.ajax({    
        type: "POST",
        url: "config.php",
        data: datastr,
        cache: false,
        success: function(datax){
            if (callback && typeof(callback) === "function") { 
                }
                alert(datax);
                callback();
            };
        }
    });
};

PHP:

function hamtakl($valdaverktyg){
     $con = mysql_connect("localhost","r00t","");
     if (!$con)
     {
     die('Could not connect: ' . mysql_error());
     }
     mysql_select_db("toolpool", $con);
    $visahamtat = mysql_query("SELECT * FROM level WHERE Verktyg='$valdaverktyg' OR Stang='ja' ORDER BY Datum");
    $p = array(); 
    while($row = mysql_fetch_assoc($visahamtat))
      {
        $p[] = $row['Datum']; 
      }
      echo json_encode($p);
      mysql_close($con);
}

ここまでは順調ですね!ajax呼び出しの出力は次のようになります。

 ["2012/11/26","2012/11/27","2012/11/05"]

私はすべてが大丈夫ですが、「datax」をグローバル配列に入れる必要があります。私はテストしました

myglobalarray = datax ;

動作しませんでした!次に、jsの最初の行で次のように配列を定義しました。

var myglobalarray = new Array;
//allso tested  var myglobalarray = [];

しかし、「datax」を配列にプッシュする方法がわかりません。問題は、「datax」が配列ではないことだと思います。

基本的に、日付を取得し、後でjquerydatepickerでそれらを使用して日付を無効にする必要があります。datax=anotherGlobalVariableを使用する場合; そしてそれが出力であることを警告します

 ["2012/11/26","2012/11/27","2012/11/05"]

今、私は迷子になっています!私が何をしなければならないのかわからない:D!

4

1 に答える 1

2

試してみる

$.ajax({    
    type: "POST",
    url: "config.php",
    dataType:'json', // **please mention
    data: datastr,
    cache: false,
    success: function(datax){
        if (callback && typeof(callback) === "function") { 
            }
            alert(datax);
            callback();
        };
    }
});

記述しない場合、dataType:'json'応答はjsonオブジェクトではなく文字列と見なされます。:)ご理解いただければ幸いです。

于 2012-11-01T09:34:20.303 に答える