将Javascript Ajax转换为jQuery Ajax的最佳方法

Sin*_*met 2 javascript ajax jquery

什么是将此代码转换为jquery的最佳方法?我试过这种方式,但注意到Internet Explorer给我带来了麻烦.所以我决定用jQuery做,但我看到很多方法,但我不知道如何用它来做同样的功能.

function updateField(str, id, prevvalue, value, vehicletype) {
    if (str == "") {
        document.getElementById(id).innerHTML = "";
        return;
    }
    if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    } else { // code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function () {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            document.getElementById(id).innerHTML = xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET", "inc/form_rest.php?q=" + str + "&prevvalue=" + prevvalue + "&value=" + value + "&vehicletype=" + vehicletype, true);
    xmlhttp.send();
}
Run Code Online (Sandbox Code Playgroud)

Den*_*ret 5

最简单的是使用get:

$.get("inc/form_rest.php",
    {q:str, prevvalue:prevvalue, value:value, vehicletype:vehicletype},
    function(html){
       $('#'+id).html(html);
    }
);
Run Code Online (Sandbox Code Playgroud)

请注意,我让jQuery构建了url,这也将确保urlencoding正确完成.

由于您只使用响应来填充元素,因此您也可以使用

$('#'+id).load(
   "inc/form_rest.php?q=" + str + "&prevvalue=" + prevvalue + "&value=" + value + "&vehicletype=" + vehicletype
);
Run Code Online (Sandbox Code Playgroud)

  • @TomSarduy不,您不需要在引号之间放置属性名称. (3认同)