使用jQuery来代替我的XMLHtt prequest [英] Use jQuery to replace my XMLHttpRequest
问题描述
我对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屋!