使用jQuery替换XMLHttpRequest [英] Use jQuery to replace XMLHttpRequest

查看:108
本文介绍了使用jQuery替换XMLHttpRequest的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am quite new to JavaScript libraries. I wanted to replace my current code with jQuery. My current code looks like this:

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这样友好的东西替换我的代码

I wanted to replace my code with something a little friendlier like jQuery's

$.get(url, callback);

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

However it doesn't call my callback function.

此外,我想连续调用名为 createRequest 的函数。 jQuery有一个很好的方法吗?

Also I would like to call a function called createRequest continuously. Does jQuery have a nice way of doing that? ­­­­­­­­­­­­­­­­­­­­­­­

推荐答案

$.get(url, {}, callback);

应该可以解决问题。您的回调可以简化如下:

should do the trick. Your callback could be simplified like this:

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

甚至更短:

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

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

And all in all I think this should work:

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

这篇关于使用jQuery替换XMLHttpRequest的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆