当前位置:  开发笔记 > 编程语言 > 正文

使用jQuery替换XMLHttpRequest

如何解决《使用jQuery替换XMLHttpRequest》经验,为你挑选了1个好方法。

我是JavaScript库的新手.我想用jQuery替换我当前的代码.我当前的代码如下所示:

var req;

function createRequest() {
   var key = document.getElementById("key");
   var keypressed = document.getElementById("keypressed");
   keypressed.value = key.value;
   var url = "/My_Servlet/response?key=" + escape(key.value);
   if (window.XMLHttpRequest) {
      req = new XMLHttpRequest();
   } else if (window.ActiveXObject) {
      req = new ActiveXObject("Microsoft.XMLHTTP");
   }
   req.open("Get", url, true);
   req.onreadystatechange = callback;
   req.send(null);
}

function callback() {
   if (req.readyState == 4) {
      if (req.status == 200) {
         var decimal = document.getElementById('decimal');
         decimal.value = req.responseText;
      }
   }
   clear();
}

我想用一些比jQuery更友好的东西替换我的代码

$.get(url, callback);

但是它不会调用我的回调函数.

我也想调用一个createRequest连续调用的函数.jQuery有一个很好的方法吗?



1> Lasar..:
$.get(url, {}, callback);

应该做的伎俩.你的回调可以像这样简化:

function callback(content){
    $('#decimal').val(content);
}

甚至更短:

$.get(url, {}, function(content){
    $('#decimal').val(content);
});

总而言之,我认为这应该有效:

function createRequest() {
    var keyValue = $('#key').val();
    $('#keypressed').val(keyValue);
    var url = "/My_Servlet/response";
    $.get(url, {key: keyValue}, function(content){
        $('#decimal').val(content);
    });
}

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有