使用jQuery来代替我的XMLHtt prequest [英] Use jQuery to replace my XMLHttpRequest

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

问题描述

我对JavaScript库的的一种新。我想用一个JS的lib jQuery的取代我现在的code。我现在的code看起来是这样的。

  VAR REQ;
  功能的createRequest(){
    VAR键=的document.getElementById(钥匙);
    VAR键pressed =的document.getElementById(键pressed);
    关键pressed.value = key.value;
    VAR URL =/ My_Servlet /应答键=?+逃生(key.value);
    如果(window.XMLHtt prequest){
      REQ =新XMLHtt prequest();
    }
    否则,如果(window.ActiveXObject){
      REQ =新的ActiveXObject(Microsoft.XMLHTTP);
    }
    req.open(获取,网址,真实);
    req.onreadystatechange =回调;
    req.send(空);
  }

  回调函数(){
    如果(req.readyState == 4){
      如果(req.status == 200){
        VAR十进制=的document.getElementById('十进制');
        decimal.value = req.responseText;
      }
    }
    明确();
  }
 

我想带的东西有点像友好取代我的code jQuery的

  jQuery.get(URL,回调);
 

不过,我不叫我的回调函数。

此外,我想调用该函数的createRequest被连续调用。 jQuery的是否有这样做的一个很好的方式?

解决方案

  $得到(URL,{},回调)。
 

应该做的伎俩。你的回调可以简化如下:

 回调函数(内容){
    $('#十进制)VAL(内容)。
}
 

甚至更短:

 。$得到(URL,{},功能(内容){
    $('#十进制)VAL(内容)。
});
 

和所有的一切,我认为这应该工作:

 函数的createRequest(){
    。VAR的keyValue = $('#键)VAL();
    $('#键pressed')VAL(的keyValue);
    VAR URL =/ My_Servlet /响应;
    $获得(URL,{关键:的keyValue},功能(内容){
        $('#十进制)VAL(内容)。
    });
}
 

I am kind of new to JavaScript library's. I wanted to replace my current code with a JS lib 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();
  }

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

jQuery.get(url, callback);

However I it doesn't call my callback function.

Also I would like to call this function createRequest to be called 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);
}

Or even shorter:

$.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来代替我的XMLHtt prequest的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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