2

PHPを介してMySQLデータベースからデータを取得しています。jQueryを使用してPHPからデータを送信および取得しています。これがコードです。

$.POST("SubmitCode.php", $("#questionCodeForm").serialize(),'json').done(function(data) {});

問題は、このデータを送信するとページが更新されることです。ページの更新を停止するにはどうすればよいですか。'json'を削除すると、ページの更新が停止しますが、問題は、ページを更新せずにjsonデータを取得したいということです。これどうやってするの?

-------------------------------------------編集後----- -------------------------------------------------- ----------------------これが更新されたコードです

$(document).ready(function() {
    initialization();

    codeSubmission();
});

function initialization() {
    $("#answerForm").hide();
}

function codeSubmission() {
  $("#submitButton").click(function(e) {
    e.preventDefault();
    $.post("SubmitCode.php", $("#questionCodeForm").serialize()).done(function(data) {
        var questionName = data.questionName,
            options = data.options,
            pollingStatus = data.pollingStatus,
            codeExist = data.codeExist;

        alert(data);
        alert(data[1]);
        alert(questionName);
        alert(options);

        if(codeExist == true) {
            $("#questionTitle").text("questionName");

            for(rowNum=1;rowNum<=5;rowNum++) {
                $("#checkbox-"+rowNum).val("Answer1");
                $("#checkbox"+rowNum+"label").text("Answer"+rowNum);
            } 

            $("#answerForm").slideDown(500);

        } else if(codeExist == false) {
            alert("This quiz code is invalid");
        }   
    },'json');  
    //return false;
  });
    //return false;
}

ここで問題となるのは、alert(questionName)の出力が未定義であるということです。データは文字列として渡されます。正しい変数で正しい情報を取得するにはどうすればよいですか?

4

2 に答える 2

3

代わりにこれを試してください:(コールバック関数の配置と小文字の.postメソッドに注意してください)

$.post("SubmitCode.php", $("#questionCodeForm").serialize(),function(data) {
  //manipulate your data here

 },'json');

また、投稿をトリガーしているものが実際のリンクではないことを確認してください。実際のリンクである場合は、デフォルトのアクションが発生しないようにする必要があります。例えば:

<a href="submit.php">Click here to submit</a>

javascript:

$(a).click(function(e) { 
e.preventDefault();
$.post("SubmitCode.php", $("#questionCodeForm").serialize(),function(data) {
  //manipulate your data here

 },'json');
});
于 2013-02-28T14:59:33.937 に答える
0

また、クライアント側でjsonを解析する必要があります。あなたはを使用してこれを行うことができます

obj = jQuery.parseJSON(data);

于 2013-02-28T19:01:44.900 に答える