我是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有一个很好的方法吗?
$.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); }); }