使用jQuery替换XMLHttpRequest [英] Use jQuery to replace XMLHttpRequest
本文介绍了使用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屋!
查看全文