我有一个id为kTb的文本框。当我在文本框中输入一些值后单击按钮时,在javascript('onClick =“changeV(kTb.value)”')内调用下面的changeV(str)。 'alert(str)'给出了我在文本框中输入的值,但是当我传递它'urll =“uSetENV.cgi?kullaTest = str”'时,我没有得到输入的值,它只是str。能告诉我如何通过/获取输入值,如果我不清楚,请告诉我,谢谢。
=============================================== ===================================
function changeV(str)
{
alert("starting change value");
alert(str);
urll = "uSetENV.cgi?kullaTest=str";
var reqq
//fw_setenv kullaTest str;
if (window.XMLHttpRequest) {
reqq = new XMLHttpRequest();
reqq.open("GET", urll, true);
reqq.setRequestHeader( "If-Modified-Since",
"Sat, 1 Jan 2000 00:00:00 GMT" );
reqq.send(null);
// branch for IE/Windows ActiveX version
} else if (window.ActiveXObject) {
reqq = new ActiveXObject("Microsoft.XMLHTTP");
if (reqq) {
reqq.open("GET", urll, true);
reqq.setRequestHeader( "If-Modified-Since",
"Sat, 1 Jan 2000 00:00:00 GMT" );
reqq.send();
}
}
alert("done change value");
}
答案 0 :(得分:1)
使用jQuery - http://api.jquery.com/jQuery.post/
使用POST,而不是GET。
alert("starting change value");
alert(str);
$.post('uSetENV.cgi', {'kullaTest': str}, function(data) {
str = data;
alert("done change value");
alert(str);
});
alert('Here str is still not changed because AJAX requests are asynchronous');
答案 1 :(得分:1)
JavaScript没有用于表示变量的符号(即foo
是变量而不需要命名为$foo
),因此您无法在字符串中执行变量插值。你必须明确地构建你的字符串。
您还应该使用encodeURIComponent处理URI中具有特殊含义的字符。
urll = "uSetENV.cgi?kullaTest=" + encodeURIComponent(str);