如何在Jquery ajax中转换此代码?

时间:2016-08-15 09:56:21

标签: javascript jquery json ajax

此代码使用的是Javascript AJAX。如何将其转换为jQuery AJAX?

var mine  = new XMLHttpRequest();
mine.onreadystatechange = function() {
    if (mine.readyState == 4 && mine.status == 200) {
        var abc = mine.responseText;
        var jsonResponse = JSON.parse(abc);
        document.getElementById("que").innerHTML = jsonResponse["que"];
        document.getElementById("op1").innerHTML = jsonResponse["op1"];
        document.getElementById("op2").innerHTML = jsonResponse["op2"];
        document.getElementById("op3").innerHTML = jsonResponse["op3"];
        document.getElementById("op4").innerHTML = jsonResponse["op4"];
        var cor = jsonResponse["cor"];
    }   
};
mine.open("POST","index.php",true);
mine.send();

响应:

{
    "que": "How much was the `Jade Hair Pin` worth in the episode `The Blind Banker`?",
    "op1": "9 Trillion",
    "op2": "9 Million",
    "op3":"9 Billion",
    "op4": "9 Zillion",
    "cor": "2"
}

2 个答案:

答案 0 :(得分:0)

这完全转换为jQuery,甚至是selectors,setter,......

$.ajax({
    url: "index.php",
    type: "POST",
    // this line could be removed, because jQuery can make a auto-select too
    dataType: "json",
    success: function(response) {
        // use jQuery to select elements and set html content
        $("#que").html(response.que).data("cor", response.cor);
        $("#op1").html(response.op1);
        $("#op2").html(response.op2);
        $("#op3").html(response.op3);
        $("#op4").html(response.op4);
    }
});

function check(value) {
    if( value == $("#que").data("cor") ) {
        // correct
    }
    else {
        // incorrect
    }
}

答案 1 :(得分:-1)

试试这个(仅转换为AJAX调用):

$.ajax({
    url: "index.php",
    type: "post",
    dataType: "json",
    success: function(jsonResponse) {
        /* Should not be necessary */
        // jsonResponse = JSON.parse(jsonResponse);
        document.getElementById("que").innerHTML = jsonResponse["que"];
        document.getElementById("op1").innerHTML = jsonResponse["op1"];
        document.getElementById("op2").innerHTML = jsonResponse["op2"];
        document.getElementById("op3").innerHTML = jsonResponse["op3"];
        document.getElementById("op4").innerHTML = jsonResponse["op4"];

        var cor = jsonResponse["cor"];
        dosomestuff(cor); // give "cor" to another function
    }
});

如果它不起作用,请在jsonResponse上执行相同的解析。